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

最新文章

  1. [LeetCode] Basic Calculator 基本计算器
  2. NDK-JNI实战教程(二) JNI官方中文资料
  3. AOP 注入失败的问题
  4. 用C#将输入的小写字母转化为大写字母
  5. JVM学习之Eclipse输出GC日志
  6. IE6存在的一些兼容
  7. hdu3342-判断有向图中是否存在(至少)3元环或回路-拓扑排序
  8. android view事件分发机制
  9. DSAPI TreeView节点增删简化操作
  10. SSM框架中写sql在xml文件中
  11. Java基础15:深入剖析Java枚举类
  12. 在 CentOS6 上安装 Zabbix2.4 Server
  13. ubuntu拒绝root用户ssh远程登录解决办法
  14. Linux命令02--系统管理
  15. [Docker] Benefits of Multi-stage Builds
  16. php一句话木马
  17. [转]搭建Keepalived+Nginx+Tomcat高可用负载均衡架构
  18. JQuery EasyUI学习笔记
  19. Mac .DS_Store 隐藏文件和清理.DS_Store的方法
  20. Linux下./configure && make && make install 编译安装和卸载

热门文章

  1. 常见面试SQL问题
  2. Sass:RGB颜色函数-Red()、Green()、Blue()函数
  3. Sass函数:Introspection 函数 -type-of()
  4. Sass函数:数学函数-abs函数
  5. PL SQL安装
  6. vue项目放在IE上页面空白的问题
  7. gensim word2vec |来自渣渣硕的学习笔记
  8. ECS运维:操作系统有异常?诊断日志来帮忙!
  9. Vue的跨域设置
  10. 八、条件变量std::condition_variable、wait()、notify_one()、notify_all(粗略)