设计模式原则总结


名称


解释

0、单一职责原则(SRP) 就一个类而言,应该仅有一个引起它变化的原因。
一、”开放-封闭”原则(OCP) 在软件设计模式中,这种不能修改,但可以扩展的思想也是最重要的一种设计原则。即软件实体(类、模板、函数等等)应该可以扩展,但是不可修改。

【通俗】:设计的时候,时刻考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新需求来,我们增加一些类就完事了,原来的代码能不动则不动。

二、里氏代换原则(LSP) 1.一个软件实体如果使用的是一个父类的话,那么一定适用于该子类,而且他觉察不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。

【一句话】:子类型必须能够替换掉他们的父类型。

三、依赖倒置原则(DIP) 1.高层模块不应该依赖于底层模块。两个都应该依赖抽象。2.抽象不应该依赖于细节,细节依赖于抽象(

【白话】:针对接口编程,不要针对实现编程。

四、接口隔离原则(ISP) 1.使用多个专门的接口比使用单一的总接口总要好。换而言之,从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小接口上的。

2.过于臃肿的接口是对接口的污染。不应该强迫客户依赖于它们不用的方法。

五、合成/聚合复用原则(CARP) 尽量使用合成/聚合,尽量不要使用类继承。

【聚合】:表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。

【合成】:一种强的拥有关系,提现了严格的部分和整体的关系,部分和整体的生存周期一致。

六、迪米特法则(LoD)

最少知识原则

强调类之间的松耦合。即:如果两个类不必彼此直接通信,那么着两个类就不应当发送直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

时间: 2024-10-08 15:45:01

设计模式原则总结的相关文章

设计模式原则

一.什么是设计模式 在软件开发中,设计模式是对软件设计中普遍存在的一些问题,所使用的解决方案 也就是说:设计模式是一套被反复使用.多数人知晓的.经过分类的.代码设计的 经验的总结 使用设计模式可以达到代码重用,让代码阅读性更高,同时保证了代码的可靠性. 由于java种具有23种设计模式,但都遵循着6个设计原则,所以最好是理解原则后,在去理解模式 二.设计模式原则 在java开发中有6中设计模式 1.开闭原则(Open Close Principle) 开闭原则:对扩展开放,对修改关闭.在程序需要

设计模式原则详解

我们在应用程序开发中,一般要求尽量两做到可维护性和可复用性.       应用程序的复用可以提高应用程序的开发效率和质量,节约开发成本,恰当的复用还可以改善系统的可维护性.而在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性. 面向对象设计原则和设计模式也是对系统进行合理重构的指导方针. 常用的面向对象设计原则包括7个,这些原则并不是孤立存在的,它们相互依赖,相互补充. 1.单一职责

C#软件设计——小话设计模式原则之:开闭原则OCP

前言:这篇继续来看看开闭原则.废话少说,直接入正题. 软件设计原则系列文章索引 C#软件设计——小话设计模式原则之:依赖倒置原则DIP C#软件设计——小话设计模式原则之:单一职责原则SRP C#软件设计——小话设计模式原则之:接口隔离原则ISP C#软件设计——小话设计模式原则之:开闭原则OCP 一.原理介绍 1.官方定义 开闭原则,英文缩写OCP,全称Open Closed Principle. 原始定义:Software entities (classes, modules, functi

【设计模式】设计模式原则详解

我们在应用程序开发中,一般要求尽量两做到可维护性和可复用性.       应用程序的复用可以提高应用程序的开发效率和质量,节约开发成本,恰当的复用还可以改善系统的可维护性.而在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性. 面向对象设计原则和设计模式也是对系统进行合理重构的指导方针. 常用的面向对象设计原则包括7个,这些原则并不是孤立存在的,它们相互依赖,相互补充. 1.单一职责

设计模式原则之单一指责原则

定义:不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责. 问题由来:类T负责两个不同的职责:职责P1,职责P2.当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障. 解决方案:遵循单一职责原则.分别建立两个类T1.T2,使T1完成职责P1功能,T2完成职责P2功能.这样,当修改类T1时,不会使职责P2发生故障风险:同理,当修改T2时,也不会使职责P1发生故障风险. 说到单一职责原则,很多人都会不屑一顾.因为它太简单了.稍有经验的程序员即使

设计模式原则之迪米特法则

迪米特法则的简写为 LoD,看清楚中间的那个 o 是小写.迪米特法则也叫做做最少知识原则(Least Knowledge Principle,简称 LKP)说的都是一会事,一个对象应该对其他对象有最少的了解,通俗的讲一 个类对自己需要耦合或者调用的类应该知道的最少,你类内部是怎么复杂.怎么的纠缠不清都和我没关系, 那是你的类内部的事情,我就知道你提供的这么多 public 方法,我就调用这个:迪米特法则包含以下四层 意思: 只和朋友交流.迪米特还有一个英文解释叫做“Only talk to yo

设计模式笔记——设计模式原则总结

设计模式基本原则总结 1.单一职责原则(SRP) 就一个类而言,应该仅有一个引起它变化的原因. 2.开放--封闭原则 是说软件实体(类.模块.函数等等)应该能够扩展,可是不可改动.意思是对于扩展是开放的(Open For extension).对于更改是封闭的(Closed for modification) 3.依赖转换原则 a.高层模块不应该依赖低层模块.两个都应该依赖抽象.b.抽象不应该依赖细节. 细节应该依赖抽象. 4.里氏代换原则 子类型必须可以替换掉它们的父类型. 5.迪米特法则--

C#软件设计——小话设计模式原则之:依赖倒置原则DIP

前言:很久之前就想动笔总结下关于软件设计的一些原则,或者说是设计模式的一些原则,奈何被各种bootstrap组件所吸引,一直抽不开身.群里面有朋友问博主是否改行做前端了,呵呵,其实博主是想做“全战”,即各方便都有战斗力.关于设计模式,作为程序猿的我们肯定都不陌生.博主的理解,所谓设计模式就是前人总结下来的一些对于某些特定使用场景非常适用的优秀的设计思路,“前人栽树,后人乘凉”,作为后来者的我们就有福了,当我们遇到类似的应用场景的时候就可以直接使用了.关于设计模式的原则,博主将会在接下来的几篇里面

C++技术问题总结-第12篇 设计模式原则

设计模式六大原则,参见http://www.uml.org.cn/sjms/201211023.asp. 1. 单一职责原则 定义:不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责. 问题由来:类T负责两个不同的职责:职责P1,职责P2.当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障. 解决方案:遵循单一职责原则.分别建立两个类T1.T2,使T1完成职责P1功能,T2完成职责P2功能.这样,当修改类T1时,不会使职责P2发生故障风险: