zoukankan      html  css  js  c++  java
  • IOC--框架进阶

    IOC控制反转

    • 含义:把高层对底层的依赖 转移到由第三方决定 避免高层对底层的直接依赖 使得程序架构具有良好的扩展性和稳定性
    • 理解:就是一种目的--解除依赖

    DI依赖注入

    • 含义:在构造对象是 可以自动化去初始化 被构造对象所需的对象
      注入方式有
      • 构造函数注入
      • 属性注入
      • 方法注入
        【注】以上注入方式 实际都是靠反射做到的
    • 理解:是实现IOC的一种手段 只有通过依赖注入 才能做到无限层级的依赖抽象 也才能实现控制反转

    DIP依赖倒置原则

    • 含义:系统架构时 高层模块不应该依赖于底层模块 二者应该通过抽象来依赖 -- 即依赖抽象 而非细节
      最简单的抽象实例化
    IPhone phone = new AndroidPhone()
    

    这样左边抽象 但右边实例化非抽象 想实现左右两边均可抽象 这种情况下 便出现了容器【常见容器 比如Unity、Autofac等】由容器去决定创建具体类型 (Unity的使用可参见:https://www.cnblogs.com/Alicia-meng/p/13551564.html)

    那什么是高层对底层的依赖呢

    当程序较为复杂时 往往分层架构就是必须的 我们比较常见的一般都是3层架构 像这样

    当UI层 去调用BLL层时 UI层就相对而言是高层 BLL层就相对是底层
    此时想实现DIP依赖倒置原则 我们可以这样做

  • 相关阅读:
    var、let、const
    面向女朋友自我介绍
    ES6——class
    一个错误引发的——对异步回调与for循环(小白错误,大神勿进)
    关于this
    关于作用域
    HTML5 8
    HTML5 7
    HTML5 6
    HTML5 4
  • 原文地址:https://www.cnblogs.com/Alicia-meng/p/13551617.html
Copyright © 2011-2022 走看看