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


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

    SRP

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

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

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

    图片1


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

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

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

    QQ截图20161216205303

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

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


    1.3 我单纯,所以我快乐

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

    QQ截图20161216210119

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


    1.4 最佳实践

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

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

  • 相关阅读:
    使用mongoose--写接口
    数据结构上机实验(2)
    时间复杂度十道练习题目
    Python网络爬虫实战入门
    区分矩阵的三大关系
    用python检查矩阵的计算
    ab矩阵(实对称矩阵)
    Python大数据应用
    数据结构上机实验(1)
    0038. Count and Say (E)
  • 原文地址:https://www.cnblogs.com/iwin12021/p/6188598.html
Copyright © 2020-2023  润新知