一、单一职责原则
类被修改的几率很大,因此应该专注于单一的功能。如果你把多个功能放在同一个类中,功能之间就形成了关联,改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题。
在此单一职责原则的定义是:应该有且仅有一个原因引起类的变更。
SRP的原话解释是: There should never be more than one reason for a class to change .
简单的说就是 One Reason One Change . 而SRP也可以理解成 SRCP (Single Responsibility/Change Principle)。
单一职责是一个很好的概念,要是死扣这个概念导致接口和类相当复杂,维护变得反锁。实际上要遵循单一职责还要结合实际项目包括工期、成本、人员水平、硬件情况等等。
这里引用下作者的建议“接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化”
先说下好处:
(1)类的复杂性降低,实现什么职责都有清晰明确的定义;
(2)可读性提高,复杂性降低,可维护性提高;
(3)变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。
二、里氏替换原则
三、依赖倒置原则
四、接口隔离原则
五、迪米特法则
六、开闭原则
分享到:
相关推荐
设计模式——GoF的23中设计模式幽默案例解析
该包下的所有demo都是一个个的软件设计原则的案例实现 包含有: 1、开闭原则 2、里氏代换原则 3、依赖倒转原则 4、接口隔离原则 5、迪米特法则 6、合成复用原则 使用了一个个的demo案例,以通俗易懂的生活...
### 设计模式——基于C#的工程化实现及扩展 #### 概述 本书旨在向读者展示如何利用C# 2.0语法有效地实现和应用设计模式,使其不仅仅局限于简单的例子,而是能够在实际工程项目中发挥重要作用。全书分为七个部分,...
在《设计模式——约会版》这一独特视角下探讨的设计模式,并非我们传统意义上的面向对象设计模式(如工厂模式、单例模式等),而是通过模拟约会场景,将抽象的设计原则与实际生活中的互动策略相结合,以此来形象地...
设计模式是软件工程中的一种最佳实践,用于解决在不同场景下重复出现的问题。...通过阅读提供的"iOS 设计模式——单例"相关资料,可以深入理解在iOS开发环境中如何有效利用单例模式来优化代码结构和提高程序性能。
在面向对象编程中,设计模式基于一些基本原则,这些原则构成了良好设计的基础。本篇将深入探讨23种设计模式以及面向对象的基本原则。 面向对象的基本原则主要包括: 1. 单一职责原则(Single Responsibility ...
抽象工厂模式是设计模式中的一种创建型模式,它提供了一种创建对象集合的接口,而无需指定具体类。这种模式的主要目的是为了隔离产品对象的创建和使用,使得系统对产品类的依赖降低到最低,同时也方便了产品的扩展和...
二、设计模式的六大原则 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序...
### JAVA设计模式总结之23种设计模式及六大原则 #### 一、设计模式之六大原则 ##### 总原则:开闭原则(Open Close Principle) 开闭原则是设计模式中最核心的原则之一,它强调的是软件实体(类、模块、函数等)...
### 实验七 设计模式——创建型模式 #### 一、实验目的 1. **掌握设计模式:** 通过本实验,学生将深入了解三大类型的23种设计模式,并掌握每种模式的基本工作原理及其适用场景。 2. **应用场景设计:** 学生能够...
**面向对象设计(OOD)与设计模式** 面向对象设计(Object-Oriented Design,简称OOD)是软件开发中的一种常用方法,它强调将现实世界的问题转化为计算机程序中的类和对象,以便更好地理解和处理复杂性。OOD的核心...
在编程世界中,Java设计模式是面向对象编程领域的一个重要概念,它为解决常见的软件设计问题提供了可重用的解决方案。对于新手来说,设计模式可能显得深奥难懂,但它们实际上是经验丰富的开发者用来提高代码质量、可...
本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与应用,特别是针对刘伟教授的相关课程的课后习题及模拟试题的解答。 设计模式分为三大类:创建型、结构型和行为型模式。...
在本文中,我们将深入探讨设计模式的六大原则,这些原则是指导我们编写高质量、可维护和可扩展代码的关键。首先,我们将关注其中的一个重要原则——单一职责原则(Single Responsibility Principle,SRP)。 单一...
模型(Model)负责数据处理,视图(View)负责数据展示,控制器(Controller)处理用户输入,这种分离职责的方式符合很多设计模式的原则。比如,视图和模型的解耦可以用到观察者模式,控制器可以采用策略模式来应对...
装饰器模式是面向对象设计模式的一种,主要用于在不改变原有对象结构的情况下,动态地为对象增加新的功能。这种模式在Java中尤其常见,因为它允许我们遵循“开闭原则”——对扩展开放,对修改关闭。 装饰器模式的...