单一职责原则
单一职责原则,核心思想是:一个类,最好只做一件事,只有一个引起它变化的原因。
单一职责原则可以看作是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起变化的原因就越多,这将是导致职责依赖,相互之间就产生影响,从而极大的损伤其内聚性和耦合度。单一职责通常意味着单一的功能,因此不要为类实现过多的功能点,以保证实体只有一个引起它变化的原因。
Rectangle拥有两个方法,一个方法是draw,用来画图形,另一个方法是area用来计算面积。
Rectangle违背了单一职责原则,因为它具有两个职责:计算面积与绘制矩形。
绘制图形会与用户界面有关,但是计算图形面积却未必与界面有关,如果把这两个职责写到一个类中,那么如果只需要使用area()方法这一职责来计算面积,那就不得不把draw()方法一同编译,但是却可能也用不到它。
如果其中一个职责需要修改,就不得不重新编译和部署另外一个。
如果类的职责超过一个,这些职责之间就会产生耦合。改变一个职责,可能会影响和妨碍类为其它类服务的功能。
把两个职责分开会好一些。
两个职责分离,这样耦合度就会降低。SRP原则的核心就是要求对类的改变只能是一个,对于违反这一原则的类应该进行重构,例如以Façade模式或Proxy模式分离职责,通过基本的方法Extract Interface、Extract Class和Extract Method进行梳理。
ps.引用:http://blog.csdn.net/yuluows/article/details/7013343
分享到:
相关推荐
设计模式6大原则:单一职责原则
设计模式
本文将深入探讨这六大原则中的第一个——单一职责原则(Single Responsibility Principle, SRP),并结合AcountYear.java这个文件名来解析该原则的应用。 单一职责原则指出,一个类或者一个模块应该只有一个引起它...
1. 单一职责原则:一个类或模块应只有一个引起其变化的原因,避免功能耦合。 2. 开闭原则:对扩展开放,对修改关闭,意味着在不修改原有代码的基础上增加新功能。 3. 里氏替换原则:子类必须能够替换掉它们的基类,...
单一职责原则可以使类的复杂度降低,实现什么职责都有清晰明确的定义;类的可读性提高,复杂度降低;可读性提高了,代码就更容易维护;变更(需求是肯定会变)引起的风险(包括测试的难度,以及需要测试的范围)降低...
### 设计模式六大原则之单一职责原则详解 #### 原则定义 单一职责原则(Single Responsibility Principle, SRP)是面向对象设计的基本原则之一,它指出一个类应该仅有一个引起其变化的原因。换句话说,一个类应该专注...
除了单一职责原则,设计模式的其他五大原则同样重要: 1. 开闭原则(Open-Closed Principle,OCP):软件实体(类、模块、函数等)应对于扩展开放,对于修改关闭。这意味着我们应该可以通过扩展已有代码来实现新...
其中,"单一职责原则"(Single Responsibility Principle,SRP)是面向对象设计的基本原则之一,也是Java设计模式中的重要组成部分。本篇文章将深入探讨单一职责原则的概念、意义、应用及其在Java编程中的实际运用。...
设计模式原则:单一职责原则,里氏替换,依赖倒转,接口隔离,开放关闭等等。
详细介绍了设计模式六大原则,配有示例代码和图片,有开闭原则,单一职责原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则等等。
六大原则分别是:单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则和开闭原则。 1. 单一职责原则(Single Responsibility Principle) 单一职责原则是指一个类只负责一项职责。问题来源于类 T...
1. 单一职责原则(Single Responsibility Principle, SRP):一个类应该只有一个引起它变化的原因,即类中的方法都应该聚集在一个单一的功能上。 2. 里氏替换原则(Liskov Substitution Principle, LSP):子类应该...
**单一职责原则(Single Responsibility Principle)** - **定义**:一个类应该只有一个引起它变化的原因。 - **应用场景**:当一个类承担过多的功能时,应考虑将其拆分为更小的、职责更明确的类。 #### 2. **...
php 设计模式六大原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 word版
在软件设计领域,单一职责原则(Single Responsibility Principle,简称SRP)是面向对象设计的六大原则之一,由罗伯特·C·马丁(Robert C. Martin)在其著作《Clean Code》中提出。这个原则强调一个类或者模块应当...
1. **单一职责原则(Single Responsibility Principle, SRP)**:一个类或模块应该只有一个引起它变化的原因。这意味着每个类应专注于完成一个特定任务,避免混杂多种职责。 2. **开闭原则(Open-Closed Principle,...
然而,现有的代码结构存在一些问题,如违反单一职责原则、迪米特法则和开放封闭原则等设计原则,以及重复代码、过长函数、过大类、过长参数列表、依恋情结、Switch语句、冗赘类和多次实例化资源对象等不良代码现象。...
1. 单一职责原则(Single Responsibility Principle, SRP):一个类应该只有一个引起它变化的原因。这意味着一个类应该只做一件事情,这样可以提高代码的可维护性和可读性。 2. 开放封闭原则(Open-Closed ...
六大设计原则是设计模式的基础,包括单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则和开闭原则。单一职责原则确保类只做一件事情,提高代码可读性和可维护性;里氏替换原则允许子类替换父类而...
这六条原则统称为SOLID原则,即单一职责原则(Single Responsibility Principle, SRP)、开闭原则(Open/Closed Principle, OCP)、里氏替换原则(Liskov Substitution Principle, LSP)、接口隔离原则(Interface ...