深入理解:设计模式中的七大设计原则
2020-06-07 16:06:09来源:博客园 阅读 ()
深入理解:设计模式中的七大设计原则
深入理解:设计模式中的七大原则
一、单一原则
概念理解: 1个类只负责一个功能领域中的相应职责。
二、开闭原则(目标)
概念理解
: 抽象是开闭原则的关键。
怎么做
: 面向接口、抽象类机制编程
三、里氏代换原则(基础)
概念理解
: 开闭原则的最重要实现方式之一;所有引用基类的地方必须能透明的使用其子类的对象).
怎么做
:
- 1.设计时: 将父类设计为接口或抽象类,让子类继承父类或实现父接口---
关键技巧点:子类不能重写父类已经实现的方法
- 2.运行时:尽量将父类定义为抽象类和接口,声明定义变量尽量使用父类声明
四、依赖倒转原则(手段)
概念理解
:
- 抽象不应该依赖细节,细节应当依赖抽象
- 针对接口编程,而不是针对实现编程
怎么做
:
- 一个实现类,必须对应一个接口或抽象类,方法一样,子类不能有多余的方法
- 传递参数或者关联关系时,尽量用层次高的抽象层类
- 对第2条具体做法:在 成员类型声明,参数类型,方法返回类型,数据类型转换时,不要用具体类,而是用接口和抽象类来声明
总结规律
:
- 面对抽象编程,肯定会找机会注入具体的子对象,即需要依赖注入
- 依赖注入有三种方式:
- 构造注入
- set值注入
- 接口注入
接口注入:通过实现在接口中声明的业务方法来传入具体类的对象。这些对象在定义时使用的是抽象类型,在运行时在传入具体类型的对象,有子类对象来覆盖父类对象。
五、接口隔离原则
概念理解
:
使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。
怎么做
:
接口太大时,将他分割成一些更细小的接口,也不能太小,不然接口泛滥,使用起来不方便,一般为某一类用户定制(业务)的方法.
六、合成复用原则
概念理解
:
尽量使用对象组合,而不是继承来达到复用的目的
七、迪米特法则
概念理解
:
- 一个软件实体应该尽可能少地与其他实体发生相互作用。
- 术语:对象之间通信的几种朋友关系。
怎么做
:
- 类的结构上---每个类的成员变量和成员函数的访问权限尽量降低。
- 类的设计上---一个类应该尽量设计成不变类,引用其他类时,一个对象对其他对象的引用应当降到最低。
- 对象通信上---减少一些对象之间的通信,如果两个对象不必直接通信,可以通过第三方转发调用,也就是引入一个合理的第三者来降低现有对象之间的耦合度。
总结: 设计模式的七大原则。
文章参考: 《设计模式的艺术–软件开发人员的内功修炼之道》
欢迎关注本人微信公众号,不定时推送相关文章,有任何问题都可以留言讨论,希望和大家共同成长。
完
感谢点赞和收藏,转发请注明文章地址和作者名称。
原文链接:https://www.cnblogs.com/hufanglei/p/13061981.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:JSP九大内置对象
- 设计模式-委派/策略模式 2020-06-09
- 深入解析ThreadLocal和ThreadLocalMap 2020-06-08
- 设计模式---类之间的关系知多少 2020-06-07
- 通俗理解spring源码(六)—— 默认标签(import、alias、be 2020-06-07
- 深入浅出 Java 类加载机制! 2020-06-05
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash