浏览Reflector,我原本以为一些更复杂的ado.net
或WebRequest
对象会使用依赖注入 – 但没有.
任何人都可以指向一个使用依赖注入来完成其工作的对象的.NET框架内的示例吗?
解决方法
WCF的ChannelDispatcher具有IChannelListener的构造函数注入(强制依赖).一般来说,WCF relies on configuration要做用户级注入可选依赖项.
System.Xml可以在很多地方进行穷人的依赖注入.例如,XmlDocument在XmlImplementation上有一个构造函数注入(内部).默认构造函数只是实例化所需的XmlImplementation. XmlImplementation本身依赖于XmlNameTable. XmlResolvers是另一个注入的例子.
MEF的CompositionContainer可选择依赖于ComposablePartCatalog和ExportProviders. ImportEngine具有ExportProvider的构造函数注入
ASP.NET MVC的Controller在IActionInvoker和ITempDataProvider上有setter注入(它们有默认实现)
模型粘合剂也是可注射的.
如果你刚开始使用依赖注入,恕我直言,.NET框架是你可以学习的最糟糕的地方:大多数时候你将没有源代码,它是框架级(而不是应用程序级)代码非常特殊的要求.特别是微软非常谨慎地将事物公开(默认是内部的),而不是大多数开源项目,以便更好地管理他们的重大变化.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。