• 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

  • 相关阅读:
    Tomcat通过脚本自动部署
    【转】调用百度API,HTML在线文字转语音播报
    vim 多行注释消除注释,多行删除
    sublime快捷键
    引号-下划线,连接多个变量
    图片压缩工具optipng/jpegoptim安装
    netsh-winsock-reset;ping的通公网IP和DNS地址和内网网关,就是不能解析域名;
    mysql简单性能排查
    nginx-upstream-keepalive;accept_mutex-proxy_http_version-1.1-proxy_set_header-connection
    icmp,tcp,traceroute,ping,iptables
  • 原文地址:https://www.cnblogs.com/songjuntao/p/15366133.html
Copyright © 2020-2023  润新知