本站消息

站长简介/公众号


站长简介:逗比程序员,理工宅男,前每日优鲜python全栈开发工程师,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,java大神匠心打造,零基础java开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2020-11(366)

2020-12(522)

2021-01(414)

2021-02(284)

2021-03(306)

深入理解:设计模式中的七大设计原则

发布于2020-11-20 09:44     阅读(733)     评论(0)     点赞(30)     收藏(5)


深入理解:设计模式中的七大原则

在这里插入图片描述

一、单一原则

概念理解: 1个类只负责一个功能领域中的相应职责。

二、开闭原则(目标)

概念理解: 抽象是开闭原则的关键。
怎么做: 面向接口、抽象类机制编程

三、里氏代换原则(基础)

概念理解: 开闭原则的最重要实现方式之一;所有引用基类的地方必须能透明的使用其子类的对象).

怎么做:

  • 1.设计时: 将父类设计为接口或抽象类,让子类继承父类或实现父接口---关键技巧点:子类不能重写父类已经实现的方法
  • 2.运行时:尽量将父类定义为抽象类和接口,声明定义变量尽量使用父类声明

四、依赖倒转原则(手段)

概念理解:

  • 抽象不应该依赖细节,细节应当依赖抽象
  • 针对接口编程,而不是针对实现编程

怎么做:

  • 一个实现类,必须对应一个接口或抽象类,方法一样,子类不能有多余的方法
  • 传递参数或者关联关系时,尽量用层次高的抽象层类
  • 对第2条具体做法:在 成员类型声明,参数类型,方法返回类型,数据类型转换时,不要用具体类,而是用接口和抽象类来声明

总结规律:

  • 面对抽象编程,肯定会找机会注入具体的子对象,即需要依赖注入
  • 依赖注入有三种方式:
    • 构造注入
    • set值注入
    • 接口注入

接口注入:通过实现在接口中声明的业务方法来传入具体类的对象。这些对象在定义时使用的是抽象类型,在运行时在传入具体类型的对象,有子类对象来覆盖父类对象。

五、接口隔离原则

概念理解:
使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

怎么做:
接口太大时,将他分割成一些更细小的接口,也不能太小,不然接口泛滥,使用起来不方便,一般为某一类用户定制(业务)的方法.

六、合成复用原则

概念理解:
尽量使用对象组合,而不是继承来达到复用的目的

七、迪米特法则

概念理解:

  • 一个软件实体应该尽可能少地与其他实体发生相互作用。
  • 术语:对象之间通信的几种朋友关系。

怎么做:

  • 类的结构上---每个类的成员变量和成员函数的访问权限尽量降低。
  • 类的设计上---一个类应该尽量设计成不变类,引用其他类时,一个对象对其他对象的引用应当降到最低。
  • 对象通信上---减少一些对象之间的通信,如果两个对象不必直接通信,可以通过第三方转发调用,也就是引入一个合理的第三者来降低现有对象之间的耦合度。

总结: 设计模式的七大原则。
文章参考: 《设计模式的艺术–软件开发人员的内功修炼之道》


在这里插入图片描述
欢迎关注本人微信公众号,不定时推送相关文章,有任何问题都可以留言讨论,希望和大家共同成长。


感谢点赞和收藏,转发请注明文章地址和作者名称。



所属网站分类: 技术文章 > 博客

作者:小胖子爱java

链接:http://www.javaheidong.com/blog/article/4772/9a167528f6e17d1037f4/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

30 0
收藏该文
已收藏

评论内容:(最多支持255个字符)