Link to home
Start Free TrialLog in
Avatar of ToolTimeGang
ToolTimeGangFlag for United States of America

asked on

How to rearchitect a sloppily used dll.

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.
ASKER CERTIFIED SOLUTION
Avatar of kaufmed
kaufmed
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of ToolTimeGang

ASKER

You make good points on all of them.  I will look more closely at the concept of "Versioned dlls" and adding the dll to the GAC.