Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are applications with many DLLs a bad thing?

Tags:

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...

like image 471
Achilles Avatar asked Aug 04 '10 14:08

Achilles


People also ask

Are DLL files important?

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.

Can two applications use the same DLL?

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.

What is DLL file and why it is important?

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.

What do DLL files do?

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.


1 Answers

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.

like image 188
Henk Holterman Avatar answered Oct 29 '22 21:10

Henk Holterman