c#各类DI容器

IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在xml文件控制,侧重于原理。

DI依赖注入:说的是创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现。

不准确理解:DI就是IOC的一种具体实现

那么在.net 平台,或者说c#开发使用的容器有哪些呢?

先看看微软自己的玩意

1.Unity

    这个是比较官方的,可以说是微软比较早的,不断更新也是使用多的。

2.ServiceCollection

   需要引入Microsoft.Extensions.DependencyInjection

其实有这2个玩意的存在,主要是微软的平台开发有几个团队,现在与我们开发相关的有原来的.net framework,.net core还有微软的云服务团队,另外asp.net core也好像是专门开发的。所以几个团队都开发的有自己的东西。

 当前情况下,微软必定有些相同的东西,用在不同开发平台(或者是库)。

再看看其它使用的

3.Autofac 

  根据了解的情况,我感觉这款应该是使用最多的,至于使用就不多说了,但是根据资料,并不是最强的,当然我没有测试过.

方便易用。

4.Ninject

  这也是一款使用较多,比较稳定的容器。

5.Spring.NET

   使用并不多,来自Java的spring的转换,当然是成熟稳定的

6.TinyIoC 

简单易用,小项目推荐

7.StructureMap

个人感觉是比较高效的

8.Simple Injector

简单易用

总体讲,没有特别必要,还是使用大家都在使用的Autofac

原文地址:https://www.cnblogs.com/jinyu20180311/p/10841882.html