3

拥有多个 DLL 还是一个大型 DLL 更好?还是有关系?

我正在处理的应用程序很大,有很多命名空间。目前,每个命名空间都包含在一个单独的 DLL 中,但是我们一直在考虑将其中的几个组合起来以简化依赖性问题。

当一个命名空间被引用时,所有其他的命名空间也会被加载到内存中吗?我只关心性能。

4

1 回答 1

3

命名空间和程序集 (DLL) 都提供了对项目进行分区的方法,但它们以不同的方式进行:命名空间提供逻辑分区,而程序集提供物理分区。

通常这些分区的边界完全匹配,但不一定是这样:您可以让来自同一个命名空间的类出现在多个程序集中;您还可以将多个命名空间中的类放入同一个程序集中。

我遵循的创建新程序集的经验法则很简单:如果存在一组类可以独立于另一组类使用的情况,则这两个组应该去单独的程序集。这使您可以更灵活地将程序集混合为其他项目的依赖项。由于依赖项的依赖项是延迟加载的,因此制作更小的 DLL 可以让您更好地管理应用程序的运行时占用空间。

与多个 DLL 相关的最大问题是编译时间的显着增加。幸运的是,它可以通过管理“复制本地”设置来解决。

于 2012-10-05T16:07:36.797 回答