一. 说在前面的话

  在框架搭建过程中,在层与层的解耦方面,势必会涉及到IOC框架,.Net 平台下我用过的IOC框架主要是: Spring.Net 、Unity、AutoFac,当然还有Castle(我没用过,就不发表任何评论了), 在用过的IOC框架中,Spring.Net 相对很老了,貌似在2015年就不在更新了,但基本的功能也够用了。 现阶段用的最多的就是Unity和AutoFac了,版本更新也比较快,Unity大约一年前写过两篇文章了,本次在该框架系列也会考虑更新一下Unity,本节主要介绍一下AutoFac的几个基本用法。
  先说一下两个概念IOC和DI,我的理解:
  ① IOC:调用者不再创建(不自己new)被调用者的实例,而是交给容器去创建(AutoFac就充当这里的容器),这就是控制反转。
  ② DI:容器创建好的实例再注入调用者的过程,就是依赖注入(比如:属性注入、构造函数注入等)。
AutoFac的信息:
  ① 官网地址:https://autofac.org/
  ② 官方文档:http://autofac.readthedocs.io/en/latest/index.html (英文)    https://autofaccn.readthedocs.io/zh/latest/ (中文)
  ③ 最新版本:4.8.1 (截止2018-08-21)

  本节的内容主要包括:

    1. 在使用IOC框架之前的几种创建对象的方式。

    2. AutoFac的基本用法和几种生命周期。

    3. AutoFac和Asp.Net MVC5进行整合,利用属性的方式进行注入。

事先说明一下本节要用到的实现类和接口类:

(1). Ypf.BLL层中包括:CatBLL、DogBLL、RoleBLL、UserBLL。

IOC框架--AutoFac
1   public class CatBLL : IAnimalBLL
2     {
3         public string Introduce()
4         {
5             return "我是猫";
6         }
7     }
CatBLL
IOC框架--AutoFac
1   public class DogBLL : IAnimalBLL
2     {
3         public string Introduce()
4         {
5             return "我是狗";
6         }
7     }
DogBLL

相关文章: