c# - IDependencyResolver 是一种反模式吗?

标签 c# asp.net-mvc dependency-injection service-locator

我正在设计对遗留 ASP.NET 应用程序的一些架构更改。我为模仿 ASP.NET MVC 的 IDependencyResolver 的依赖关系解析制作了一些类的原型(prototype)。我不会发布,因为它的界面几乎相同,但使用的是其他自然语言。

我发现它可能被认为是服务位置,而它通常(在某些情况下不完全)被谴责以支持依赖注入(inject)。尽管如此,我找不到任何反对使用 ASP.NET MVC 的依赖项解析实现的建议。

ASP.NET MVC 的 IDependencyResolver 是否被视为反模式?这是坏事吗?

最佳答案

如果您查看 signature you will see that it's just a Service Locator用另一个名字。 Service Locator is an anti-pattern并且我认为这种关系是可传递的,所以我认为 IDependencyResolver 是一种反模式

除此之外,接口(interface)也是broken because it has no Release method .

关于c# - IDependencyResolver 是一种反模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5653783/

相关文章:

asp.net-mvc - 在 MVC4 中将 Ninject 与 SignalR 结合使用

c# - 如何折叠 If、Else、For、Foreach 等子句?

c# - 如何在 ASP.NET 中将空字符串设置为 DataSource 参数的默认值?

asp.net - asp.net mvc 和 web 表单之间有性能差异吗?

android - 如何为 Hilt Android 提供上下文?

.net - 将 CasTLe Windsor 与 SignalR 集成 - 我应该如何处理这个问题?

java - 抽象初始化()方法而不是依赖注入(inject),好的做法?

c# - 任意数量对象的笛卡尔积

c# - Ajax ModalPopUp Extendar 在执行后面代码中的前几行之前弹出

c# - 使用 ASP.NET MVC 使用 Ajax 调用上传文件