依赖倒置原则

一切都是为了高内聚低耦合的封装思想

它是开闭原则的延伸
越往上越抽象,越往下越细节

说白了就是
当你写一个类写得很累,发现方法/函数内容很多很复杂的时候
尝试把方法/函数抽象成一种行为什么的
让这些方法有所依赖,有所倒置

比如:

类 小明
  方法 看A书
  方法 看B书
  方法 看C书

运行:
  小明.看A书
  小明.看B书
  小明.看C书

倒不如:

//1.先定一个接口(或抽象类(略))约定看书这个行为,具体看啥书用实现类去扩展
接口  书
  方法 我是某书

类 A书 实现 书
  方法 我是某书
    "A书"
类 B书 实现 书
  方法 我是某书
    "B书"
类 C书 实现 书
  方法 我是某书
    "C书"

//2.修改主类,抽象出行为模式
类 小明
  方法 看书(接口 书)

运行:
  小明.看书A(A书)
  小明.看书A(B书)
  小明.看书A(B书)

好处:
1.主类简约清晰有条理
2.类的功能很明确

坏处:
1.类多一点

进阶玩法一:
在主类构造方法注入书本

进阶玩法二:
通过get/set方法注入书本

你可能感兴趣的:(依赖倒置原则)