单一职责原则(SRP:Single responsibility principle) 又称单一功能原则,面向对象的基本原则之一.它规定 一个类应该只有一个发生变化的原因. 该原则由罗伯特·C·马丁(Robert C. Martin)于<敏捷软件开发:原则.模式和实践>一书中给出. 但实际上我们很容易明白他的意思,却很难真正的理解它. 所谓职责是指类变化的原因.如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责. 而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因. 如…
声明:本文内容是从网络书籍整理而来,并非原创. 用户管理的例子 先看一张用户管理的类图:  再看一眼上面的图,思考:这样合理吗? 这个接口是一个很糟糕的设计! 用户的属性和行为竟然混合在一起!!! 正确的做法是把用户的信息抽取成一个业务对象(Bussiness Object,简称 BO),把行为抽取成另外一个接口中,我们把这个类图重新画一下:  这样划分成了两个接口,IUserBO 负责用户的属性,IUserBiz 负责用户的行为,因为是面向的接口编程,所有当产生了这个 UserInfo 对象之…
定义: 应该有且仅有一个原因引起类的变更. There should never be more than one reason for a class to change. 优点: 1.类的复杂性降低,实现什么职责都有清晰明确的定义: 2.可读性提高,复杂性减低,可读性当然提高: 3.可维护性提高,可读性提高,可维护性当然提高: 4.变更引起的风险减低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的类有影响,对其他接口无影响,这对系统的扩展性.维护性都有非常大的帮助. 注意…
定义: 应该有且仅有一个原因引起类的变更. There should never be more than one reason for a class to change. 优点: 1.类的复杂性降低,实现什么职责都有清晰明确的定义: 2.可读性提高,复杂性减低,可读性当然提高: 3.可维护性提高,可读性提高,可维护性当然提高: 4.变更引起的风险减低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的类有影响,对其他接口无影响,这对系统的扩展性.维护性都有非常大的帮助. 注意…
单一职责原则(SRP:The Single Responsibility Principle) 一个类应该有且只有一个变化的原因. There should never be more than one reason for a class to change. 为什么将不同的职责分离到单独的类中是如此的重要呢? 因为每一个职责都是一个变化的中心.当需求变化时,这个变化将通过更改职责相关的类来体现. 如果一个类拥有多于一个的职责,则这些职责就耦合到在了一起,那么就会有多于一个原因来导致这个类的变…
北风设计模式课程---单一职责原则(Single Responsibility Principle) 一.总结 一句话总结: 一个类应该有且只有一个变化的原因:单一职责原则(SRP:Single Responsibility Principle)可表述为 "一个类应该有且只有一个变化的原因(There should never be more than one reason for a class to change.)".单一职责原则是一个非常简单的原则,但通常也是最难做的正确的一个…
自己之前写过一些关于设计模式的博客,但是大部分都写得比较匆忙.现在正好趁年前有时间,笔者打算好好地整理一下自己这块知识结构.开篇的第一个原则就是设计原则里面最简单的一个原则--单一职责原则. 想必大家都听过并且常用这个原则进行一些项目的重构,因为这个原则太简单了,一句话概括就是:应该有且仅有一个原因引起类的变更.但是我们在实际的项目里面不能够生搬硬套,因为单一职责原则有个缺点就是可能会造成类对象的剧增,导致我们在用的时候就需要人为的组合对象.大家应该知道组合操作就会造成冗余.耦合,所以可以视具体…
080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明):有些步骤和相关知识点缺乏文字描述,可能会难以理解.读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的"关于博主"处)与本人交流,共同进步. 单一…
定义 就一个类而言,应该仅有一个引起它变化的原因. 定义解读 这是六大原则中最简单的一种,通俗点说,就是不存在多个原因使得一个类发生变化,也就是一个类只负责一种职责的工作. 优点 类的复杂度降低,一个类只负责一个功能,其逻辑要比负责多项功能简单的多: 类的可读性增强,阅读起来轻松: 可维护性强,一个易读.简单的类自然也容易维护: 变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响. 问题提出 假设有一个类C,它负责两个不同的职责:职责P1和…
单一职责原则 (Single Responsibility Principle, SRP) 单一职责原则在设计模式中常被定义为“一个类应该只有一个发生变化的原因”,若我们有两个动机去改写一个方法,那这个方法就有两个职责.实际开发过程,修改代码本身就存在风险,特别是两个职责耦合在一起有依赖关系的时候,一个职责的变化可能对整个逻辑造成意想不到的破坏,这种耦合性得到的是低内聚和脆弱的设计. SRP原则体现为:一个对象(方法)只做一件事 何时应该分离职责 SRP 原则是所有原则中最简单也是最难正确运用的…