设计模式原则(3)--Dependency Inversion Principle(DIP)--依赖倒转原则
1.定义:
2.使用场景:
3.使用特点
4.实现案例
class Book{public String getContent(){return "书中的故事";} } class Mother{public void narrate(Book book){System.out.println("闲着无聊");System.out.println(book.getContent());} } public class Client{public static void main(String[] args){Mother mother = new Mother();mother.narrate(new Book());} }
class Newspaper{public String getContent(){return "报纸上的新闻";} }
这时候竟然不能读报纸! 只是将书换成报纸,居然必须要修改Mother才能读。假如以后需求换成杂志呢?换成网页呢?还要不断地修改Mother,这显然不是好的设计。原因就是Mother与Book之间的耦合性太高了,必须降低他们之间的耦合度才行。
interface IReader{public String getContent(); }
class Newspaper implements IReader {public String getContent(){return "报纸上的新闻";} } 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());} }
运行结果:
5.注意事项
转载于:https://www.cnblogs.com/yysbolg/p/7426479.html
设计模式原则(3)--Dependency Inversion Principle(DIP)--依赖倒转原则相关推荐
- 依赖倒转原则(Dependency Inversion Principle,DIP)
前面两篇图文介绍了"开闭原则"和"里氏替换原则".开发出对扩展开放,对修改封闭的系统是程序员的目标,而今天所介绍的"依赖倒转原则"正是实现这 ...
- 依赖反转(倒置)原则(Dependency inversion principle,DIP)
在软件设计.编码过程中有几个基本原则即SOLID原则,学习理解能够帮忙我们写出更健壮的代码.SOLID是五个基本原则的首字母.这五个原则如下: Single responsibility Open–c ...
- Java设计模式——依赖倒转原则
一.什么是依赖倒转原则? 依赖倒转原则讲的是,要依赖于抽象,不要依赖于具体. 实现"开-闭"原则的关键是抽象化,并且从抽象化导出具体化实现."开-闭"原则是面向 ...
- 面向对象编程原则(06)——依赖倒转原则
版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 参考资料 <大话设计模式> 作者:程杰 <Java设计模式> 作者:刘 ...
- java依赖倒转原则_设计原则之--依赖倒转原则
[各位博友晚上好,又到了晚上的这个时间,感谢大家一直对Darren博客的支持,希望这篇文章对你有所帮助: 这几天一直在看设计模式:简单工厂模式,策略模式,单一职责原则,开放 [依赖倒转原则又称依赖倒置 ...
- 胖虎白话学习设计模式之依赖倒置原则(Dependence Inversion Principle)
胖虎白话学习设计模式之依赖倒置原则(Dependence Inversion Principle) 记录胖虎学习设计模式过程,不许勿喷,转载请注明出处! (此博文为胖虎在PDF上截取.觉得写得通俗易懂 ...
- 【设计模式】依赖倒转原则(Dependence Inversion Principle)
高层模块不应该依赖低层模块,两者都应该依赖其抽象:抽象不应该依赖细节,细节应该依赖抽象.简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合. 1 案例分析(组装电脑 ...
- 依赖倒转原则 (Dependence Inversion Principle)
依赖倒转原则 (Dependence Inversion Principle) 定义:程序要依赖于抽象接口,不要依赖于具体实现.简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实 ...
- 深入理解依赖倒置原则(Dependence Inversion Principle)
Dependence Inversion Principle 依赖倒置原则(Dependence Inversion Principle) What 什么是依赖倒置原则? Why 为什么使用依赖倒置原 ...
最新文章
- SDWebImage 在Swift中遇坑解决
- Cookie,Session的区别
- Python操纵Mysql数据库的三种方法,实现增删改查
- github page hexo博客gitee_hexo + github 博客搭建
- JVM总结---各处总结
- 对“粘连”footer布局的思考和总结
- Java Socket编程详解
- 【JS 逆向百例】无限 debugger 绕过,某网站互动数据逆向
- 图解 CSS (1): 先做一个样式表测试工具
- C++:基于范围的for循环
- android 电池小记
- DHCP中继原理和配置(含常见配置配置误区)
- Centos7.9源码编译安装Apache
- yaws mysql_MySQL入门之C语言操作MySQL
- Qt样式表Qss(什么是QSS;基本语法;setStyleSheet函数;样式表的属性值;利用QtCreate实现样式切换;样式表实现皮肤改变实例)
- Xshell6下载安装
- java实现令牌桶算法
- Excel自动获取单词音标词义
- 急需“五彩连珠”小游戏的代码
- 流媒体相关资源下载地址(整理)