我已经使用Unity进行依赖注入并且运行良好但是我希望减少app.config中的cruft数量,因为它变得越来越大。
这是一个问题,因为客户通过删除评论等来定期“清理”配置,我们最终会得到几百行令人讨厌的XML而无需解释。
那么,有没有办法;
据我所知.Net 4.0有一些减少.config文件的好东西,这会帮助Unity配置吗?
提前致谢,
赖安
答案 0 :(得分:3)
代替配置代码。除非您明确需要能够在编译后改变从抽象类型到具体类型的映射,否则使用配置文件只会使您的系统更加脆弱。
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。
在大多数情况下,这只是在容器中注册的服务总量的一小部分(如果有的话)。
答案 1 :(得分:2)
从我的观点来看,你有两个选择:
RepositoryContainer.Contanier = ProductionRepositories(); RepositoryContainer.Container = MockRepositories();