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

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

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


1dc618a0ed9580ce8bfa6facb208c08f.png


一、单一原则


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


二、开闭原则(目标)


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


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


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


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


怎么做:


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


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


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


概念理解:


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


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


怎么做:


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

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


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


总结规律:


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


依赖注入有三种方式:


构造注入

set值注入

接口注入


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


五、接口隔离原则


概念理解:


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


怎么做:


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


六、合成复用原则


概念理解:


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


七、迪米特法则


概念理解:


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


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


怎么做:


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


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


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


目录
打赏
0
0
0
0
15
分享
相关文章
【设计模式——学习笔记】设计模式简介+七大设计原则介绍(下)
【设计模式——学习笔记】设计模式简介+七大设计原则介绍
185 0
设计模式之设计原则
程序设计的要遵循的一些理论,也可以理解为程序设计的一种要求和目标,是面向对象程序设计的基石,也是面向对象程序设计的质量保障和依据。
100 0
「全网最细 + 实战源码案例」设计模式——六大设计原则
本文介绍了面向对象设计中的六大原则,旨在提高软件系统的可维护性、可复用性和可拓展性。这些原则包括:开闭原则(OCP)、里氏代换原则(LSP)、依赖倒转原则(DIP)、接口隔离原则(ISP)、迪米特法则(LoD)和合成复用原则(CARP)。每项原则通过具体示例展示了如何通过抽象、多态、组合等方式降低耦合度,增强系统的灵活性与稳定性,从而提升开发效率并降低成本。
49 10
React开发设计模式及原则概念问题之什么是HOC(Higher-order component),HOC遵循的设计原则都有哪些
React开发设计模式及原则概念问题之什么是HOC(Higher-order component),HOC遵循的设计原则都有哪些
交易链路设计原则&模式问题之中介者(Mediator)方法设计模式是什么,如何解决
交易链路设计原则&模式问题之中介者(Mediator)方法设计模式是什么,如何解决
【设计模式系列笔记】设计模式与设计原则
设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 设计原则是一些通用的设计指导方针,它们提供了如何设计一个优秀的软件系统的基本思想和规则。指导着设计者如何组织代码以实现高内聚、低耦合、易扩展和易维护的软件系统。
111 4
【设计模式】设计原则
【1月更文挑战第12天】【设计模式】设计原则
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等