定义 就一个类而言,应该仅有一个引起它变化的原因. 定义解读 这是六大原则中最简单的一种,通俗点说,就是不存在多个原因使得一个类发生变化,也就是一个类只负责一种职责的工作. 优点 类的复杂度降低,一个类只负责一个功能,其逻辑要比负责多项功能简单的多: 类的可读性增强,阅读起来轻松: 可维护性强,一个易读.简单的类自然也容易维护: 变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响. 问题提出 假设有一个类C,它负责两个不同的职责:职责P1和…
定义 一个软件实体(如类.模块.函数)应当对扩展开放,对修改关闭. 定义解读 在项目开发的时候,都不能指望需求是确定不变化的,大部分情况下,需求是变化的.那么如何应对需求变化的情况?这就是开放-关闭原则要谈的. 开放-封闭原则的思想就是设计的时候,尽量让设计的类做好后就不再修改,如果有新的需求,通过新加类的方式来满足,而不去修改现有的类(代码).那么在实际的项目开发中,是否能做到绝对的对修改关闭呢?答案一般也是否定的.既然这样,那么就要求我们在开发前,去找出变化点,然后针对变化点构造抽象,隔离出…
SRP = Single Responsibility Principle   定义:就一个类而言,应该只有一个能引起他变化的原因.通俗的说,即一个类只负责一项职责.   作用: 1.减少了类之间的耦合 2.最简单最单纯的事情才是最容易控制,最有效 3.当需求变化时,只需要修改一个地方 4. 避免写臃肿的方法(俗称万能方法.大方法)     常见错误: 这里会计类有两个方法:计算工资方法和存储数据方法.这两个方法并不是一个职责,虽然看起来他们都是会计需要做的事情,但是引起他们变化的原因是不同的.…
单一职责原则 1.单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因 2.如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或抑制这个类完成其他职责的能力.这种耦合会导致脆弱的设计,当发生变化时,设计会遭受到意想不到的破坏 3.软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离 4.如果你能够想到多余一个的动静去改变一个类,那么这个类就具有多于一个的职责 开放-封闭原则(OCP)开-闭原则 开放-封闭原则的定义 开放-封闭原则:是说软件实体(…
定义 客户端不应该依赖它不需要的接口: 一个类对另一个类的依赖应该建立在最小的接口上. 定义解读 定义包含三层含义: 一个类对另一个类的依赖应该建立在最小的接口上: 一个接口代表一个角色,不应该将不同的角色都交给一个接口,因为这样可能会形成一个臃肿的大接口: 不应该强迫客户依赖它们从来不用的方法. 接口隔离原则有点像单一职责原则,但是也有区别,在单一职责原则中,一个接口可能有多个方法,提供给多种不同的调用者所调用,但是它们始终完成同一种功能,因此它们符合单一职责原则,却不符合接口隔离原则,因为这…
看的这本书叫<JavaScript设计模式与开发实践> 先规划一下看书的顺序,基础知识我已经大概的浏览了一遍了,没有留下笔记,以后有时间还会补上.本来打算顺着看的.但是我感觉我很难短时间内看完第二部分.我决定先浏览一遍第三部分-----设计原则和编程技巧.这里简单赘述一下.以后详细聊聊. 一.单一职责原则. 为什么会衍生出这一原则呢?就是为了应对产品.策划无休止的改,这也是程序员最头疼的问题了吧.----题外话 但是也充分的体会到了单一职责原则的方便之处了. 定义:单一职责原则(SRP)的职责…
1. 单一职责原则核心思想 一个类应该有且只有一个变化的原因. 2. 为什么引入单一职责原则 单一职责原则将不同的职责分离到单独的类,每一个职责都是一个变化的中心. 在SRP中,把职责定义为变化的原因. 当需求变化时,将通过更改职责相关的类来体现.如果一个类拥有多于一个的职责,则多个职责耦合在一起,会有多于一个原因来导致这个类发生变化.一个职责的变化可能会影响到其他的职责,另外,把多个职责耦合在一起,影响复用性. 3. 单一职责原则的优点 (1)降低类的复杂度:(2)提高类的可读性,提高系统的可…
github地址:https://github.com/cheesezh/python_design_patterns 单一职责原则 就一个类而言,应该仅有一个引起它变化的原因. 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力.这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏. 软件设计真正要做的许多内容,就是发现职责并把哪些职责相互分离.如果你能够想到多余一个的动机去改变一个类,那么这个类就具有多余一个的职责,就…
理论性知识 定义 单一职责原则, Single responsibility principle (SRP): 一个类,接口,方法只负责一项职责: 不要存在多余一个导致类变更的原因: 优点 降低类的复杂度 提高类的可读性 提高系统的可维护性 降低变更引起的风险 特别说明 在我们的实际开发中,很多类或者方法都不完全符合单一职责原则.其实设计原则就是一种指导思想, 并不是要求开发人员必须遵守.根据实际业务需求,在能满足的情况下,尽可能去满足设计原则,这样才更有利于项目的后期维护和优化. 代码实战 非…
单一职责原则:Single Responsibility Principle (SRP) 一个类.仅仅有一个引起它变化的原因.应该仅仅有一个职责.每个职责都是变化的一个轴线.假设一个类有一个以上的职责,这些职责就耦合在了一起.这会导致脆弱的设计.当一个职责发生变化时,可能会影响其他的职责.另外,多个职责耦合在一起,会影响复用性. 比如:要实现逻辑和界面的分离. T负责两个不同的职责:职责P1.职责P2.当因为职责P1需求发生改变而须要改动类T时.有可能会导致原本执行正常的职责P2功能发生问题.…