【问题标题】:Is it better to have multiple DLLs or a single large DLL? [closed]拥有多个 DLL 还是一个大型 DLL 更好? [关闭]
【发布时间】:2012-09-26 19:30:47
【问题描述】:

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

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

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

【问题讨论】:

    标签: .net performance memory dll namespaces


    【解决方案1】:

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

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

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

    与多个 DLL 相关的最大问题是编译时间显着增加。幸运的是,它可以通过managing the "Copy Local" 设置来解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-12
      • 2013-08-25
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      • 2019-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多