美文网首页
实践之路《单一职责-七大基本原则》

实践之路《单一职责-七大基本原则》

作者: 菜根_ | 来源:发表于2019-02-24 10:04 被阅读0次

    单一职责原则(Single Responsibility Principle)

    定义:不要存在多于一个导致类变更的原因

    理解起来就是一个类最好只有单一的职责,只专注于一件事,不要让它成为一个“上帝类”,上帝类一般指的是维护了太多功能的类。比如,你可以想象一下,把spring的所有功能封装到一个类里,这就是严重违背单一职责。
    问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。
    解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。
    需要说明的一点是单一职责原则不只是面向对象编程思想所特有的,只要是模块化的程序设计,都适用单一职责原则。
    举个实际开发中的例子,我有一个类,里面有两个属性,还有两个方法,方法分别为删除和修改方法,这时候就涉及到职责划分的问题了,你可以把他划分为两部分,这个类只有一个职责就是存储和读取信息,然后把两个方法拿出来当做业务部分,这样就分为了两个类,分属不同职责且单一。
    单一职责原则提出了一个编写程序的标准,用职责和变化原因来衡量接口或类设计的是否优良,但是职责和变化原因都是不可度量的,因项目而异,因环境而异。

    相关文章

      网友评论

          本文标题:实践之路《单一职责-七大基本原则》

          本文链接:https://www.haomeiwen.com/subject/wccpyqtx.html