Asp.net mvc 4 构造初始化与依赖注入?

Asp.net mvc 4 构造初始化与依赖注入?,asp.net-mvc-4,Asp.net Mvc 4,我对依赖性非常陌生,所以你能解释一下,当需要这些插件时,不使用IOC容器(如Ninject、Unity、Autofac等),也不使用IOC容器就可以实现依赖性注入吗 private readonly IModelFactory _modelFactory; private readonly IStatsService _service; protected BaseApiController( IModelFactory modelFactory, IStats

我对依赖性非常陌生,所以你能解释一下,当需要这些插件时,不使用IOC容器(如Ninject、Unity、Autofac等),也不使用IOC容器就可以实现依赖性注入吗

private readonly IModelFactory _modelFactory;
        private readonly IStatsService _service;

        protected BaseApiController( IModelFactory modelFactory, IStatsService statsService ) {
            _modelFactory = modelFactory;
            _service = statsService;
        }

你当然可以。您提到的DI容器使您的生活更轻松,但它们的作用基本上归结为:

IModelFactory modelFactory = new MyModelFactory();
IStatsService statsService = new MyStatsService();

var myController = new SomeController(modelFactory, statsService);
DI容器对它们有一些好处:繁重的工作已经为您完成(聪明的人已经做过!),您在一个地方指定了您希望如何管理依赖关系,其他开发人员可能已经看到了这一点

要将ASP.NET MVC与DI容器集成,插件已经存在。例如,微软的模式与实践团队制作了一个小型插件,将Unity与ASP.NET MVC基础架构集成在一起。执行此操作时,MVC框架将在实例化控制器时自动注入依赖类