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

2019-02-24  本文已影响0人  菜根_

单一职责原则(Single Responsibility Principle)

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

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

猜你喜欢

热点阅读