We have an enterpise web application that did consist of 4 compiled components (DLLs). Over a year ago, we began implementing more granular components in an attempt to isolate functionality, reduce coupling and reduce the risk of recompiling and deploying massive chunks of code. While no one argues that this approach has given us MUCH improved flexibility and speed to market when adding new functionality and patching bugs, the applications now consists of nearly 40 dlls. We have a naming convention that works well for identifying our components.
My question is: Is there any down-side(Performance, maintenance, etc...) to having an application with many dlls?
Edit: We are exploring the option of refactoring code into larger components which I think might be a regression of sorts...
A DLL helps promote developing modular programs. It helps you develop large programs that require multiple language versions or a program that requires modular architecture. An example of a modular program is an accounting program that has many modules that can be dynamically loaded at run time.
It's possible. You could install the DLL in the GAC (requires strong named assemblies) in order for both applications to have easy access to it. Or stick it in a folder and have both apps search that folder for the dll.
DLL or Dynamic Link Library are one of the very important components of any Windows based operating system. All the executable files of any application or other system component has to depend on it in one way or other. It contains special codes or function that helps other files to operate within the system.
A dynamic link library (DLL) is a collection of small programs that larger programs can load when needed to complete specific tasks. The small program, called a DLL file, contains instructions that help the larger program handle what may not be a core function of the original program.
My question is: Is there any down-side(Performance, maintenance, etc...) to having an application with many dlls?
A downside with many DLLs ? No
A downside with too many DLLs ? Sure.
So how many is too much?
An assembly is an means of organization, like namespaces and classes. Namespaces define logical boundaries, assemblies physical boundaries.
You should try to keep assemblies coherent, and view them as system modules.
And yes, there would be a (small) performance problem if you had hundreds of them. But with 40, I don't see a problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With