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