美文网首页
设计模式之依赖

设计模式之依赖

作者: 懒无趣 | 来源:发表于2020-12-23 21:14 被阅读0次

依赖

依赖简单来说就是A类实现的过程中需要用到B类,这称为A依赖B

class A:
    def do(bClass B):
        doWith(bClass)
    end

依赖倒置

由于A类强依赖于B类,如果B类有多种其他的实现方法,那么修改起来违反开闭原则。

依赖倒置原则:从原来的A强依赖于B,修改为A需求IB接口,B类去实现该接口。即本来上层调用者(A)得受制于B类的实现,修改为B类去满足A类的需求。

那么代码即可修改为A类依赖于IB接口,然后再将B类传入。

控制反转

控制反转是一种思想

def foo():
    b = new B()
    doSomethingWith(b) 
end

如上代码,函数执行的时候内部主动调用new B()生成一个B对象(因此A依赖B),然后再进行其他逻辑。这种做法有两种坏处:

  1. 耦合性太强,如果B类修改,那么A类可能也需要修改
  2. B初始化的过程可能会持续很久,如果在测试的时候不断初始化会很慢

控制反转的精髓在于主动于被动

def foo(b):
   doSomethingWith(b)
end

此时函数是被动传入一个b对象来执行函数逻辑,b对象可以是一个约定好的接口,因此:

  1. 可以解耦合
  2. 测试阶段可以先初始化好一个对象b然后不断执行测试,大大减少初始化的次数。

依赖注入

是控制反转思想的一种实现

相关文章

  • 设计模式之开闭原则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之迪米特法则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之依赖倒置原则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之接口隔离原则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之单一职责原则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之里式替换原则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之依赖

    依赖 依赖简单来说就是A类实现的过程中需要用到B类,这称为A依赖B 依赖倒置 由于A类强依赖于B类,如果B类有多种...

  • 2022-09-21 依赖倒置

    《设计模式之禅》之依赖倒置原则,Dependence Inversion Principle(DIP),核心就是面...

  • 设计模式笔记汇总

    目录 设计原则 “依赖倒置”原则 未完待续... 设计模式 设计模式——策略模式 设计模式——装饰者模式 设计模式...

  • Vue响应式-依赖收集

    依赖收集 为什么要收集依赖 咋样实现收集依赖 通过一个事件发布订阅模式设计模式,然而在这种设计模式去实现依赖收集,...

网友评论

      本文标题:设计模式之依赖

      本文链接:https://www.haomeiwen.com/subject/yhiunktx.html