Ian*_*oyd 5 .net dependency-injection
我试图在 .NET 中找到一个使用依赖注入的类的示例(例如,一个使用Builder或的类Factory来创建完整的对象 - 注入依赖项)
通过反光浏览时,我会想到一些更复杂的ado.net或WebRequest对象将使用依赖注入-但没有。
任何人都可以指出 .NET 框架中使用依赖注入来完成其工作的对象的示例吗?
以下是框架中依赖注入的几个示例:
WCF的ChannelDispatcher具有IChannelListener的构造函数注入(强制依赖)。但一般来说,WCF 依赖配置来执行可选依赖项的用户级注入。
System.Xml 在许多地方进行穷人的依赖注入。例如,XmlDocument在 XmlImplementation 上有一个构造函数注入(内部)。默认构造函数仅实例化所需的 XmlImplementation。XmlImplementation 本身依赖于 XmlNameTable。XmlResolvers 是注入的另一个示例。
MEF 的CompositionContainer可以选择依赖于 ComposablePartCatalog 和 ExportProviders。ImportEngine有 ExportProvider 的构造函数注入
ASP.NET MVC 的控制器在 IActionInvoker 和 ITempDataProvider 上有 setter 注入(它们有默认实现)模型绑定器也是可注入的。
如果您刚刚开始使用依赖注入,恕我直言,.NET 框架是您可以学习的最糟糕的地方:大多数时候您不会拥有源代码,它是框架级(而不是应用程序级)代码相当特殊的要求。特别是,与大多数开源项目不同,微软非常谨慎地公开事物(默认为内部),以便更好地管理其重大变更。
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |