IDependencyResolver是反模式吗?

我正在为遗留的ASP.NET应用程序设计一些体系结构更改。 我为一些模拟ASP.NET MVC的IDependencyResolver的依赖解析的类原型。 我不会发布,因为它几乎是相同的界面,但用其他自然语言。

我发现它可能被认为是服务位置,反过来通常(在某些情况下不完全)被谴责依赖于dependency injection。 不过,我找不到任何反对使用ASP.NET MVC的依赖项解析实现的建议。

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

如果您查看签名,您将看到它只是一个具有其他名称的服务定位器 。 Service Locator是一个反模式 ,我认为关系是传递的,所以我认为IDependencyResolver是一个反模式

除此之外,界面也被破坏,因为它没有Release方法 。

我不相信……你可以将你想要的任何IoC注入ASP.NET MVC,这对我来说似乎是一个非常好的模式。

这是一篇关于将Unity注入ASP.NET MVC 3 的博客文章 。