We have a base library in the form of a DLL that is used by more than one client application. It is somewhat bloated, and some applications require only a small portion of the functionality provided by this DLL. So, now we are considering the division of this hippo into smaller components.
My question is this: can someone recommend a way to split this bloated DLL into a set of modules that have some interdependencies but do not necessarily require all the other modules?
Here are the options that I see, but I hope someone can offer other options:
- Create a “core” dll and several “satellite” libraries that use the main and possibly other satellite DLLs.
- Split the contents of the bloated DLL into static libraries used by the main DLL (to support the same function), but applications that do not want to use the bloated version can collect the static libraries that they need into their own DLL or in the application itself.
I did not dare to mention this, but I think it is important to note that the application uses MFC.
Thanks for your thoughts.
Karim source
share