【发布时间】:2011-08-04 22:58:21
【问题描述】:
我正在为旧版 ASP.NET 应用程序设计一些架构更改。我对一些模仿 ASP.NET MVC 的 IDependencyResolver 的依赖关系解析类进行了原型设计。我不会发布,因为它几乎是相同的界面,但使用其他自然语言。
我发现它可能被认为是服务位置,这反过来通常(在某些情况下不完全)被谴责以支持依赖注入。不过,我找不到任何反对使用 ASP.NET MVC 的依赖解析实现的建议。
ASP.NET MVC 的 IDependencyResolver 是否被视为反模式?这是一件坏事吗?
【问题讨论】:
-
IDependencyResolver 只是一个工具;它的使用方式是模式。将其等同于服务定位器模式过于简单化了。不要从代码中引用它,并坚持构造函数注入。
标签: c# asp.net-mvc dependency-injection service-locator