In an architecture, does the number of DLLs influence performance? Scalability?

5

I have the habit of creating my solution like this:

Entity - Class Library (Classes, entities)

Utils - Class Library (Classes of help, security, generate xml, anyway, functions of all kinds)

Repository - repository patterns

Map - Class Libary - ORM Mapping Classes, be it Nhibernate or Entity using Fluent API

Test - Test

Web Project - Here my web project, if I want to separate in "modulo" I use the areas. (Modules = Financial, Inventory, Billing, etc.)

I use this structure regardless of the size of the project, whether small or giant

My question is: In an architecture, does the number of dll's influence performance? scalability? Leaving like this would be bad if my project grew?

Or it would be better to create a class library for each module (one class library for financial module, another for billing, and so on. Just like web project, a web project for financial, billing, etc.

Architecture links are welcome.

    
asked by anonymous 04.04.2014 / 15:47

2 answers

7

The only problem with multiple DLLs is a slight increase in time when starting the application, as all DLLs will be localized and their dependencies resolved, but it is not worth worrying about this impact on performance.

    
04.04.2014 / 18:33
2

The best for maintenance is to really separate, each project with its responsibility.

  • Project - Layer - of data access (entity)
  • Project - Layer - Utils (generic dlls)
  • Projects - Layer - UI

But you should also have a good sense and do not separate everything. in 200 projects. For example in your case I would leave Entity and ORM all together, after all they are the same things.

Utils would leave together with the BLL (Classes for Entity manipulations)

It's also interesting to check what each class does, so do not create a very generic class. it is better to have several classes each doing only 1 single thing. Read about: Single responsibility.

    
04.04.2014 / 16:31