设计模式之6大原则
一、设计模式6大原则
名称 |
解释 |
0、单一职责原则(SRP) |
就一个类而言,应该仅有一个引起它变化的原因。 |
一、"开放-封闭"原则(OCP) |
在软件设计模式中,这种不能修改,但可以扩展的思想也是最重要的一种设计原则。即软件实体(类、模板、函数等等)应该可以扩展,但是不可修改。 【通俗】:设计的时候,时刻考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新需求来,我们增加一些类就完事了,原来的代码能不动则不动。 |
二、里氏代换原则(LSP) |
1.一个软件实体如果使用的是一个父类的话,那么一定适用于该子类,而且他觉察不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。 【一句话】:子类型必须能够替换掉他们的父类型。 |
三、依赖倒置原则(DIP) |
1.高层模块不应该依赖于底层模块。两个都应该依赖抽象。2.抽象不应该依赖于细节,细节依赖于抽象( 【白话】:针对接口编程,不要针对实现编程。 |
四、接口隔离原则(ISP) |
1.使用多个专门的接口比使用单一的总接口总要好。换而言之,从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小接口上的。 2.过于臃肿的接口是对接口的污染。不应该强迫客户依赖于它们不用的方法。 |
五、合成/聚合复用原则(CARP) |
尽量使用合成/聚合,尽量不要使用类继承。 【聚合】:表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 【合成】:一种强的拥有关系,提现了严格的部分和整体的关系,部分和整体的生存周期一致。 |
六、迪米特法则(LoD) 最少知识原则 |
强调类之间的松耦合。即:如果两个类不必彼此直接通信,那么着两个类就不应当发送直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 |
___大部分内容摘自《大话设计模式》
相关推荐
24种设计模式介绍与6大设计原则24种设计模式介绍与6大设计原则
详细介绍了设计模式六大原则,配有示例代码和图片,有开闭原则,单一职责原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则等等。
JAVA的六大设计原则是对设计模式应用的指导,是使软件更加灵活、易于维护和复用的基础。这六大设计原则包括: 1. 单一职责原则(Single Responsibility Principle, SRP):一个类应该只有一个引起它变化的原因,即...
### 设计模式六大原则详解 #### 一、开闭原则(Open-Closed Principle) **含义:** 开闭原则强调的是“对扩展开放,对修改关闭”。这意味着系统的设计应该是灵活的,能够轻松地添加新的功能而不需要修改现有代码...
这个PDF文档“24种设计模式介绍与6大设计原则”旨在帮助开发者理解和应用这些模式,提高代码的可维护性和可扩展性。以下是其中的主要内容: 一、设计原则 1. 单一职责原则:一个类或模块应只有一个引起其变化的原因...
设计模式原则:单一职责原则,里氏替换,依赖倒转,接口隔离,开放关闭等等。
以下是关于"Android 24种设计模式介绍与6大设计原则"的详细阐述: 一、六大设计原则 1. **单一职责原则(Single Responsibility Principle, SRP)**:一个类或模块应该只有一个引起它变化的原因。这意味着每个类应...
### 设计模式六大原则之单一职责原则详解 #### 原则定义 单一职责原则(Single Responsibility Principle, SRP)是面向对象设计的基本原则之一,它指出一个类应该仅有一个引起其变化的原因。换句话说,一个类应该专注...
设计模式6大原则:开闭原则
24种设计模式介绍与6大设计原则.pdf 24种设计模式介绍与6大设计原则.pdf 最好的24种设计模式介绍与6大设计原则.pdf
在本文中,我们将深入探讨设计模式的六大原则,这些原则是指导我们编写高质量、可维护和可扩展代码的关键。首先,我们将关注其中的一个重要原则——单一职责原则(Single Responsibility Principle,SRP)。 单一...
简单通俗的设计模式,容易理解平时的设计模式苦涩无味不想看,这个还好与现实结合 (Simple and popular design pattern, it is easy to understand the normal design pattern bitter and tasteless and not to see,...
设计模式6大原则:接口隔离原则
在这篇文章中,我们将深入探讨设计模式的六大原则,这些原则是理解并有效应用设计模式的基础。 首先,我们要了解“开-闭”原则(Open-Closed Principle,OCP)。这个原则指出,一个软件实体(如类、模块或函数)...