I never bought the "many links = bad" idea, which many .NET developers think so. I honestly believe that the best separation is good, especially when you get the opportunity to reuse your code for other projects.
If you look at the Rails or Django communities, it was very encouraging and even somewhat expected that you would split your application into small reusable parts. There really are no drawbacks, but there are many advantages. Often your code is cleaner because you have to think about things in logical units.
In the .NET community, I saw a lot of people just wanting to squeeze everything into one monolithic DLL, and in my opinion this is wrong. Why are links to projects bad? Why is it bad if you have micro-libraries, each of which performs its own unique task? The answer is that this is not bad. We must decide on separation of concerns and dry principles.
source share