微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET中IOC容器Autofac(依赖注入DI 控制反转IOC)

IOC的一个重点是在程序运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI来实现的。Autofac则是比较流行的一款IOC容器。

IoC和DI有什么关系呢?其实它们是同一个概念的不同角度描述。

一、IOC

IOC—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想,一种面向对象编程法则,目的是程序解耦。

谁控制谁,控制什么?

传统程序设计,我们直接通过new object()创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对象的创建。

为何叫控制反转?

有反转就有正转,传统程序是我们自己主动创建并控制依赖对象,叫正转。

而反转则是由容器来帮忙创建及注入依赖对象,由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象。

二、DI

DI—Dependency Injection,即“依赖注入

比如对象A需要操作数据库,以前我们总是要在A中自己编写代码来获得一个Connection对象,有了Autofac我们就只需要告诉Autofac,A中需要一个Connection,至于这个Connection怎么构造,何时构造,A不需要知道。在系统运行时,Autofac会在适当的时候制造一个Connection,然后像打针一样,注射到A当中,这样就完成了对各个对象之间关系的控制。A需要依赖 Connection才能正常运行,而这个Connection是由Autofac注入到A中的,依赖注入的名字就这么来的。

三、Autofac

Autofac是一个开源的依赖注入框架,通过NuGet安装:

中文文档https://autofaccn.readthedocs.io/zh/latest/

使用方法https://www.jianshu.com/p/f5d6346b0a7b

 

​原文地址:https://www.cnblogs.com/webapi/p/11770274.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐