Autofac一款IOC容器,据说比Spring.Net、Unity、Castle性能高,且比较轻量级,也有人做过测试,自己可以找找,看看比拼的结果是怎样的,在使用Autofac之前我们先来了解几个概念;在我看来依赖倒置(DIP)、控制反转(IOC)、 依赖注入(DI),都源于一个思想,一项技术,思想就是面向接口编程,技术就是反射。

通常我们在编程的时候呢,类与类之间都有着这样那样的关系,没有关系的类,也就说明它没有存在的必要了;那么对于复杂的系统来讲,类之间的关系也会变的更复杂,如果需求发生变化,那将是改死人的节奏,那么如何降低依赖关系,提高系统的扩展性,就非常重要了,也就是我们经常说的解耦。

依赖倒置

依赖倒置原则:

  1. 上层模块不应该依赖下层模块,它们共同依赖于抽象
  2. 抽象不依赖于具象,具象依赖抽象

上层是使用者,下层是被使用者,如果下层发生变化那么上层也要进行修改,那么该怎么办呢,就是上层和下层共同依赖于一个抽象,那么抽象是稳定的,上层也就不需要修改了。

控制反转

通常我们在编程的时候,都是使用者需要什么对象就实例化一个对象,现在有这么一个场景,比如我们的系统之前用的是SqlServer,现在需要也支持MySql,那么业务逻辑层也需要改动很多。

现在利用控制反转我们可以将实例化对象交给IOC容器来实现,这样使用者就不需要改动了,用一句话来总结就是:

使用者不再实例化被使用者对象,而交给IOC容器来实现

依赖注入

 就是由IoC容器在运行期间,动态地将某种依赖关系注入到对象之中。

这些概念已经有很多文章了,不了解的童鞋可以移步这里http://www.cnblogs.com/qqlin/archive/2012/10/09/2707075.html

Autofac(IOC容器)

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式