回答
Ninject没有XML配置,抱歉,我不能提供一个直接链接(COS他们的网站上有闪光的元素),但这里是从ninject.org报价:
从XML释放你自己
大多数其他.NET依赖注入框架围绕着XML的使用 来声明类型绑定。 而不是强迫你写 繁琐,容易出错的文字, Ninject武器你能说一口流利 接口,它可以让你使用 全面的代码连接 个应用程序。这意味着您可以利用 IDE和编译器的功能,如代码完成 和类型安全。
您期望实现什么?你想要配置什么样的东西?动态选择策略?通过港口号码?你可以提供更多关于你在想什么的信息,以便得到更好的答案[你可以理解:P]。
您需要拆分的担忧:
- 称为对象接线(DI)
- 配置 - 通常你要拆分例如为那些小的聚焦子集强类型的配置元素VS具有在一大堆mishmashed一起拉
appSettings
- 插件/ 未知对象布线设置的全局池(MEF?)
在第一个池,这样做的守则只是正确的方式,我不能想到XML会带来什么好处,尤其是。在强名称等
的情况下有基于XML配置的扩展:https://github.com/ninject/ninject.extensions.xml
你可以做很多更强大的代码虽然结合。
我在代码中定义绑定时看到的问题是您必须添加对dll的引用。 如果不添加对新dll的引用(删除对旧引用的引用),则无法更改绑定,更改代码并重新编译。
如果我们有xml配置,我根本不需要参考,也不需要重新编译。 现在我有使用DI将存储库传递给控制器的MVC应用程序。没有别的,然后Ninject添加绑定代码使用具体的存储库实现。仍然需要添加对包含实现的dll的引用。只有一行代码!
或者也许有可能使用Ninject来实现这一点?
这正是为什么没有配置文件是负面的... – 2011-08-01 17:55:25
- 1. 与ninject的循环依赖关系
- 2. ASP.NET MVC3 IAuthorisationfilter Ninject依赖关系
- 3. 使用Ninject注入AutoMapper依赖关系
- 4. IWebBrowser2接口依赖关系图
- 5. 发现接口依赖关系
- 6. CMake target_link_libraries接口依赖关系
- 7. 接口依赖关系层次
- 8. 依赖关系的nuget依赖关系
- 9. MVC3 - 如何正确注入与MVC3和Ninject的依赖关系?
- 10. MongoDB与Ninject:解决从存储库中的依赖关系
- 11. 连接依赖关系时的循环依赖关系
- 12. 依赖关系排序与循环依赖关系的检测
- 13. 从外部项目使用Ninject来解决依赖关系
- 14. ctypes DLL与可选依赖关系
- 15. AutoMockContainer与非接口依赖关系automocking类的支持
- 16. VS2010项目依赖关系
- 17. Sbt项目依赖关系
- 18. Eclipse项目依赖关系
- 19. Rubygems可选依赖关系
- 20. Playbook依赖关系与角色依赖关系
- 21. 依赖注入RoleStore与ninject
- 22. CHECK_LIBRARY_EXISTS库与依赖关系
- 23. Android依赖关系与库
- 24. NetBeans中的Maven项目:如何向“依赖关系”和“测试依赖关系”添加依赖关系?
- 25. 无法初始化依赖关系。使用依赖注入的单例类(Ninject)
- 26. 依赖关系
- 27. 获取缺少依赖关系的Maven项目的依赖关系
- 28. 如何在IntelliJ的项目结构>模块>依赖关系选项卡中搜索依赖关系
- 29. pip:安装依赖的依赖关系
- 30. 依赖的Maven副本依赖关系
令人惊讶的是,它们如何使消极的声音像一个加号。 大多数其他DI \ Ioc允许您使用Xml或代码。 – 2010-12-22 14:38:57
这是非负面的。故意切断XML支持,因为这是一种可维护性的痛苦。 – Restuta 2010-12-22 16:01:12
我主要使用代码来映射我的绑定,但有些情况下,配置的作品。对于调试,我可能想要将IMailService绑定到VirtualMailService,但在发行版中使用SmtpMailService。配置文件基于发布环境进行转换。 – 2012-03-09 19:09:21