版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fjh19950514/article/details/81154537
一,什么是Autofac?
Autofac为何物?它是.NET世界里现存的几种IOC框架其中之一,传说是速度最快的一个,同类的框架还有用过Castle Windsor、StructureMap、Unity等。那么问题来了,IOC是什么呢?其实它就是我们一直所说的控制反转。
通过上面的了解,我们基本上已经明白了Autofac为何物了,现在了解一下它相对于其它的IoC框架有什么优点:
- 它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用Lambda表达式注册组件。
- 较低的学习曲线,学习它非常的简单,只要你理解了IoC和DI的概念以及在何时需要使用它们。
- XML配置支持。
- 自动装配。
- 与Asp.Net MVC 3集成。
- 微软的Orchad开源程序使用的就是Autofac,从该源码可以看出它的方便和强大。
二,怎么用Autofac?
将Autofac整合到你的应用的基本模式如下:
- 按照控制反转(IoC)的思想构建你的应用程序
- 添加Autofac引用
- 在application启动代码里…
- 创建
ContainerBuilder
对象 - 注册组件
- Build容器并且保存以备用
- 在程序执行阶段
- 从容器创建一个作用域
- 在作用域里获取组件的实例
三,用Autofac有什么好处?
先给大家推荐一篇文章:Martin Fowler写了一篇非常棒的文章是关于依赖注入/控制反转的。如果感兴趣可以去了解一下。这个很棒,写的也很清楚了。
这个也是刚刚开始学,有什么问题大家一起探讨。