How to rearchitect a sloppily used dll.
Posted on 2014-08-14
Our team has inherited legacy code that includes a sloppily used dll.
"Sloppily" meaning it has shared code, but there is no pattern for how it is set up.
Example. 10 console applications reference the dll. In today's world, if a new version of the dll is rolled out, every calling app should really be recompiled to bring in the new version of the dll. But the changed portion of the code might affect only 2 of the 10 calling apps.
My goal here is to minimize those recompiles.
We don't have time for a complete rewrite. So I listed options below. Please let me know i there are other ideas you might have that could help us! Thank you!!!
1.Keep using the same dll, but make it lives in a shared location.(that way, all calling programs are using the same dll)
2.Split the dll into multiple dlls
3.Clean up the dll. Move specific functions of the dll into the calling program where applicable (like if only one program is calling a dll function, move that function into the calling program)
4.re-architect the dll into a WCF Service.