我们有一个enterpise Web应用程序,它由4个编译组件(DLL)组成.一年多以前,我们开始实现更细粒度的组件,以试图隔离功能,减少耦合并降低重新编译和部署大量代码的风险.虽然没有人认为这种方法在添加新功能和修补错误时为我们提供了更多灵活性和上市速度,但现在应用程序包含近40个dll.我们有一个命名约定,可以很好地识别我们的组件.
我的问题是:有多个dll的应用程序是否存在任何漏洞(性能,维护等)?
编辑:我们正在探索将代码重构为更大的组件的选项,我认为这可能是各种各样的回归......
Hen*_*man 15
我的问题是:有多个dll的应用程序是否存在任何漏洞(性能,维护等)?
有许多DLL的缺点?没有
DLL太多的缺点?当然.
那么多少太多了?
程序集是一种组织方式,如命名空间和类.命名空间定义逻辑边界,程序集物理边界.
您应该尝试保持程序集一致,并将它们视为系统模块.
是的,如果你有数百个,那么就会出现(小)性能问题.但是有了40,我没有看到问题.
LBu*_*kin 12
将独立的功能域分成单独的DLL通常是一件好事.它有助于引入重用的可能性,并有助于减少类的内部实现之间引入不适当的耦合.
但是,将多个程序集作为系统的一部分引入有一些缺点:
The sorts of issues that get worse with more DLLs are:
The advice I follow is to use DLLs to organise your deployment, and namespaces to organise your code. If you find that you always release a given set of DLLs together, you might as well merge them.