2

我在 MVC(基础书籍)中阅读了有关 IDependencyResolver 的内容,但我不知道 mvc 中的 DependencyResolver 到底是什么?

有人可以解释这些方法吗?

4

1 回答 1

5

它允许在控制器和其他组件中实现依赖注入。布拉德威尔逊写了一篇关于它的好文章。例如,当您实现一个能够为给定类型返回正确实现的自定义依赖解析器时,您可以让您的 ASP.NET MVC 控制器将抽象依赖或接口作为构造函数参数:

public class HomeController: Controller
{
    private readonly ISomeService _someService;
    public class HomeController(ISomeService someService)
    {
        _someService = someService;
    }

    ... some actions
}

如果您编写了自定义依赖关系解析,它将能够在实例化控制器时注入接口的正确实现。

依赖注入允许应用程序的不同层之间的耦合更弱,并使它们更容易单独进行单元测试。

于 2012-09-30T11:58:22.023 回答