zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    区块链中的密码学
    初识nodeJS
    JS或jQuery获取当前屏幕宽度
    jQuery与Zepto的异同
    使用递归解决斐波那契数列的性能问题
    sass高级语法的补充
    sass的高级语法
    栅格 CSS中的循环 媒体查询
    Zepto
    dedecms 留言板中引用模板文件方法
  • 原文地址:https://www.cnblogs.com/songjuntao/p/15366133.html
Copyright © 2011-2022 走看看