.NET Project Architecture

I have a philosophical question that should also consider the impact of performance.

We are developing a new system with many support services that are not related to each other, but some can use each other (we use unity to avoid decoupling).

My main question is:

  • Should we split them into separate DLLs, where each service has its own DLL (for example, product.services.serice1.dll, product.services.serice2.dll, etc.), or should we combine all these services in one DLL, with difference namespaces, for separation between them. This is a deadline, is there a difference between them? Also, what is the most “acceptable” standard that is endorsed by the community (and Microsoft)?

thanks

+3
source share
8 answers

If your services are intended for sharing, group them in one assembly. I saw systems with zillions dll loaded (and solutions with zillions projects in it), and not a single instance where you had to cherry-pick one assembly over any other. This does not stop you from having a decoupling and reasonable separation in namespaces.

, dll ( ), , VS bin/debug . (1000 ) .

. , .

, , NUnit. 30 dll, , , , .

+3

- . , .dll . .dll DLL .

+2

/DLL, . , /, .

+2

DLL-, , .

+1

, "".

, , , . , . , , , .

.

+1

. , .

+1

.NET , . , , , .NET. , , , .

0

dlls are loaded every time we call functions in them. big dll is not a good method. use smaller dlls, this will increase your level.

0
source

Source: https://habr.com/ru/post/1724668/


All Articles