首页 > Web开发 > 详细

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

时间:2019-10-31 11:46:01      阅读:126      评论:0      收藏:0      [点我收藏+]

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

...

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!