设计模式之禅第1章 单一职责原则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之禅第1章 单一职责原则相关的知识,希望对你有一定的参考价值。

1.1 我是“牛”类,我可以担任多职吗

SRP

       单一职责原则的英文名称是Single Responsibility Principle,简称是SRP。

RBAC模型(Role-Based Access Control)基于角色的访问控制
        通过分配和取消角色来完成用户权限的授予和取消,使动作主体(用户)与资源的行为(权限)分离

单一职责原则的定义是:应该有且仅有一个原因引起类的变更。

技术分享


1.2 绝杀技,打破你的传统思维

    SRP的原话解释是:
        There should never be more than one reason for a class to change.

    单一职责原则:
        要求一个接口或类只有一个原因引起变化,也就是一个接口或类只有一个职责,它就负责一件事情.

技术分享

   单一职责原则的好处:
        ● 类的复杂性降低,实现什么职责都有清晰明确的定义;
        ● 可读性提高,复杂性降低,那当然可读性提高了;
        ● 可维护性提高,可读性提高,那当然更容易维护了;
        ● 变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。

单一职责原则最难划分的就是职责
注意:
        单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或类设计得是否优良,但是“职责”和“变化原因”都是不可度量的,因项目而异,因环境而异。


1.3 我单纯,所以我快乐

    单一职责适用于接口、类,同时也适用于方法。 一个方法尽可能做一件事情.

技术分享

  每个方法的职责非常清晰明确,不仅开发简单,而且日后的维护也非常容易,大家可以逐渐养成这样的习惯。


1.4 最佳实践

    我查阅了Wikipedia、OODesign等几个网站,专家和我也有类似的经验,基本上类的单一职责都用了类似的一句话来说"This is sometimes hard tosee",这句话翻译过来就是“这个有时候很难说”。

对于单一职责原则,接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。

 










以上是关于设计模式之禅第1章 单一职责原则的主要内容,如果未能解决你的问题,请参考以下文章

《设计模式之禅》之——六大设计原则解读

《设计模式之禅》笔记整理--面对对象设计六大原则

设计模式——设计模式之禅的阅读笔记

[Python设计模式] 第3~5章 单一职责原则/开放-封闭原则/依赖倒转原则

《设计模式之禅》--摘要

敏捷开发:原则,模式与实践——第8章 单一职责原则SRP