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

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

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


1dc618a0ed9580ce8bfa6facb208c08f.png


一、单一原则


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


二、开闭原则(目标)


概念理解: 抽象是开闭原则的关键。


怎么做: 面向接口、抽象类机制编程


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


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


怎么做:


1.设计时: 将父类设计为接口或抽象类,让子类继承父类或实现父接口—关键技巧点:子类不能重写父类已经实现的方法


2.运行时:尽量将父类定义为抽象类和接口,声明定义变量尽量使用父类声明


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


概念理解:


抽象不应该依赖细节,细节应当依赖抽象


针对接口编程,而不是针对实现编程


怎么做:


一个实现类,必须对应一个接口或抽象类,方法一样,子类不能有多余的方法

传递参数或者关联关系时,尽量用层次高的抽象层类


对第2条具体做法:在 成员类型声明,参数类型,方法返回类型,数据类型转换时,不要用具体类,而是用接口和抽象类来声明


总结规律:


面对抽象编程,肯定会找机会注入具体的子对象,即需要依赖注入


依赖注入有三种方式:


构造注入

set值注入

接口注入


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


五、接口隔离原则


概念理解:


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


怎么做:


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


六、合成复用原则


概念理解:


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


七、迪米特法则


概念理解:


一个软件实体应该尽可能少地与其他实体发生相互作用。


术语:对象之间通信的几种朋友关系。


怎么做:


类的结构上—每个类的成员变量和成员函数的访问权限尽量降低。


类的设计上—一个类应该尽量设计成不变类,引用其他类时,一个对象对其他对象的引用应当降到最低。


对象通信上—减少一些对象之间的通信,如果两个对象不必直接通信,可以通过第三方转发调用,也就是引入一个合理的第三者来降低现有对象之间的耦合度。


相关文章
|
6月前
|
设计模式 关系型数据库
【设计模式——学习笔记】设计模式简介+七大设计原则介绍(下)
【设计模式——学习笔记】设计模式简介+七大设计原则介绍
21 0
|
6月前
|
设计模式 前端开发 算法
设计模式之设计原则
程序设计的要遵循的一些理论,也可以理解为程序设计的一种要求和目标,是面向对象程序设计的基石,也是面向对象程序设计的质量保障和依据。
37 0
|
7月前
|
设计模式 Java 关系型数据库
Java设计模式中的设计原则 2
Java设计模式中的设计原则
55 0
|
3月前
|
设计模式 关系型数据库 程序员
【设计模式】设计原则
【1月更文挑战第12天】【设计模式】设计原则
|
4月前
|
设计模式 程序员
设计模式-设计原则
设计模式-设计原则
|
6月前
|
设计模式 存储 Java
JAVA设计模式第一讲:设计原则
JAVA设计模式第一讲:设计原则
|
6月前
|
设计模式 Java 程序员
【设计模式——学习笔记】设计模式简介+七大设计原则介绍(上)
【设计模式——学习笔记】设计模式简介+七大设计原则介绍
29 2
|
7月前
|
设计模式 算法 Java
Java设计模式中的设计原则 1
Java设计模式中的设计原则
66 0
|
9月前
|
设计模式 算法 关系型数据库
设计模式——设计模式简介、分类及面向对象设计原则
23 种设计模式中有些模式今天已经不流行了,有些模型已经被语言机制替代了,有些模式你可能常常会忘记,但这些都不重要,重要的是设计原则,因为有了这些设计原则,你有可能发明自己的模式,你也可以理解未来千千万万其他领域的模式。
49 1
|
9月前
|
设计模式 关系型数据库 区块链