【问题标题】:How can I reduce the amount of configuration needed in .config for Unity dependency injection?如何减少 .config 中 Unity 依赖注入所需的配置量?
【发布时间】:2010-02-21 11:09:23
【问题描述】:

我已经使用 Unity 进行依赖注入,它运行良好,但我想减少 app.config 中的垃圾量,因为它变得越来越大。

这是一个问题,因为客户经常通过删除 cmets 等来“清理”配置,我们最终得到了几百行令人讨厌的 XML,没有任何解释。

那么,有没有办法;

  1. 使用默认值减少混乱?
  2. 将配置移出到另一个有助于隔离它的 .config 文件?

我知道 .Net 4.0 有一些减少 .config 文件的好东西,但这对 Unity 配置有帮助吗?

提前致谢,

瑞恩

【问题讨论】:

    标签: .net configuration unity-container


    【解决方案1】:

    改为在代码中编写配置。除非您明确需要能够在编译后将映射从抽象类型更改为具体类型,否则使用配置文件只会让您的系统更加脆弱。

    Unity 没有很多基于约定的功能,但您始终可以自己编写一些。在代码中,这将允许您简单地扫描特定程序集以查找以...“存储库”...结尾的所有公共类型并注册它们。

    StructureMap 和 Windsor 都具有使这更容易的功能,但无论如何configuration in config should be left for the scenarios where you truly need to be able to swap out dependencies after compilation

    在大多数情况下,这只是向容器注册的服务总量的一小部分(如果有的话)。

    【讨论】:

      【解决方案2】:

      在我看来,你有两个选择:

      • 移至另一个配置文件。
      • 在代码中编写 IoC 内容,我更喜欢这种方式,因为它更具可读性。您可以拥有通过代码创建的静态容器变量:在正常情况下,默认情况下或在单元测试中使用模拟。

      RepositoryContainer.Contanier=ProductionRepositories(); RepositoryContainer.Container = MockRepositories();

      【讨论】:

        猜你喜欢
        • 2023-04-02
        • 1970-01-01
        • 1970-01-01
        • 2013-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多