六大设计原则 -依赖倒置原则【Dependence Inversion Principle】
2018-01-23 20:11
381 查看
六大设计原则
单一职责原则里式替换原则
依赖倒置原则
接口隔离原则
迪米特原则
开闭原则
依赖倒置原则
定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。解決方法:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率
代码:
class Newspaper implements IReader { public String getContent(){ return "林书豪17+9助尼克斯击败老鹰……"; } } class Book implements IReader{ public String getContent(){ return "很久很久以前有一个阿拉伯的故事……"; } } class Mother{ public void narrate(IReader reader){ System.out.println("妈妈开始讲故事"); System.out.println(reader.getContent()); } } public class Client{ public static void main(String[] args){ Mother mother = new Mother(); mother.narrate(new Book()); mother.narrate(new Newspaper()); } }
解析:
原本Mother类与Book类直接耦合时,Mother类必须等Book类编码完成后才可以进行编码,因为Mother类依赖于Book类。修改后的程序则可以同时开工,互不影响,因为Mother与Book类一点关系也没有。
传递依赖关系办法:
1.依赖接口(上面的方法)
2.构造方法传递
3.setter方法传递
相关文章推荐
- IOS设计模式的六大设计原则之依赖倒置原则(DIP,Dependence Inversion Principle)
- IOS设计模式的六大设计原则之依赖倒置原则(DIP,Dependence Inversion Principle)
- [设计模式之禅读书笔记]003_设计模式六大原则(三):依赖倒置原则(Dependence Inversion Principle)
- IOS设计模式的六大设计原则之依赖倒置原则(DIP,Dependence Inversion Principle)
- 设计模式六大原则——依赖倒置原则(DIP,Dependence Inversion Principle)
- IOS设计模式的六大设计原则之依赖倒置原则(DIP,Dependence Inversion Principle)
- 【六大设计原则】3. 依赖倒置原则 -Dependence Inversion Principle:
- 设计模式六大原则(3):依赖倒置原则(Dependence Inversion Principle)
- 【设计模式六大原则3】依赖倒置原则(Dependence Inversion Principle)
- 设计模式六大原则(3):依赖倒置原则DIP(Dependence Inversion Principle)
- 依赖倒置原则(DIP)Dependence Inversion Principle --- 设计模式原则
- 设计模式六大原则(3)依赖倒置原则(Dependence Inversion Principle)
- 设计原则-依赖倒置原则(Dependence Inversion Principle)
- 6大设计原则之依赖倒置原则(Dependence Inversion Principle)。
- 设计原则-依赖倒置原则(Dependence Inversion Principle)
- 设计模式6大原则之依赖倒置原则(Dependence Inversion Principle)
- OO设计原则 -- Dependency Inversion Principle:OO设计的 DIP依赖倒置原则
- 面向对象设计原则之依赖倒置原则(Dependency Inversion Principle)
- "围观"设计模式(3)--依赖倒置原则(DIP,Dependence Inversion Principle)
- OO设计原则 -- Dependency Inversion Principle:OO设计的 DIP依赖倒置原则