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",这句话翻译过来就是“这个有时候很难说”。