zoukankan      html  css  js  c++  java
  • 控制反转IOC,依赖注入DI理解

    IOC:控制反转,常规下,高层依赖低层,项目是不稳定的。我们则应该把高层对低层的依赖去掉,换成对抽象的依赖,细节交给第三方来决定,这就是控制反转,反转的目的是为了降低依赖,增强扩展性。

    DI:依赖注入,其实就是在实现IOC时会遇到对象依赖问题,依赖注入就是指在IOC创建对象时,通过一定技术手段,去自动完成依赖对象的创建并传入。

    构造函数注入->属性注入->方法注入(注入的顺序)

    推荐函数构造注入,可以不用声明特性(AspNetCore内置容器ServiceCollection就只支持构造函数注入)

    DI没有层数限制,可以一直去依赖注入,才能实现真正的IOC,是实现IOC的手段。

    *增加动态链接库

     容器基本使用

    多层构造,当A->B->C->D->E当一层层依赖,实例化A时,先构造B传入A中,这样来从E到A是不是大大难题。

    其实不是的且有三种注入方式:

      注入的生命周期:瞬时生命周期,单例生命周期,线程生命周期

    注册容器还是有具体的类,还是依赖了细节?

    需要移植到配置文件来处理

    *增加动态链接库

     *增加配置文件放在运行目录

     *代码实现

    当多个类继承同一个接口,需要怎么区分哪个类的实例?

    用别名控制

     

  • 相关阅读:
    Rotate Image,N*N矩阵顺时针旋转90度
    JumpGame,JumpGame2
    WildcardMatching和Regex,通配符匹配和正则表达式匹配
    Multiply Strings,字符串相乘
    TrappingRainWater
    300万PV的ASP.NET网站使用阿里云的配置建议
    java 学习 安卓学习
    如何学习Yii
    Lemon开源OA
    JAVA-进行Java Web项目开发需要掌握的技术
  • 原文地址:https://www.cnblogs.com/anyihen/p/12452092.html
Copyright © 2011-2022 走看看