tags:

views:

91

answers:

4

While you frequently don't want one monolithic assembly for anything more than a small project, it's possible to separate things too much.

What are the signs/smells of too much assembly separation?

+1  A: 

One sign/smell is if everything in the assembly is public: instead, ideally there might be a small public facade wrapping/hiding a larger internal implementation.

ChrisW
+1  A: 

The first (obvious) one is: in a solution with lots of projects, assemblies with only a handful (say, 3-4) classes in them (an assembly with only interfaces may be an exception to this).

Another: If an assembly somewhere in the middle layer of your project has to import a ton of other assemblies in order to do its job.

DannySmurf
+1  A: 

circular dependencies are a dead giveaway ;-)

Steven A. Lowe
A: 

Pushing in the other direction, you may have too little assembly separation if you have a whole bunch of unrelated things in the same assembly.

An approach suggested to me, that I found useful, was to keep functional subsystems in discrete assemblies. Some of these subsystems can be huge - and some can be fairly small.

Bevan