单一职责的英文: Single Responsibility Principle 简称SRP。
只要做过项目,肯定要接触到用户、机构、角色管理这些模块,基本上使用的都是
RBAC模型(Role-Based Access Control,基于角色的访问控制,通过分配和取消角色来完成
用户权限的授予和取消,使动作主体(用户)与资源的行为(权限)分离),确实是一个很
好的解决办法。
单一原则的定义:应该有且仅有一个原因引起类的变更。
原话:
There should never be more than one reason for a class to change.
电话类图
过程:
public interface IPhone {
//拨通电话
public void dial(String phoneNumber);
//通话
public void chat(Object o);
//通话完毕,挂电话
public void hangup();
}
接近于“完美",但是IPhone这个接口不是只有一个职责,它包含了两个职责:
一个是协议管理,一个是数据传送。dial()和hangup()两个方法实现的是协议管理,分别负责拨号接通和挂机;chat()实现
的是数据的传送,把我们说的话转换成模拟信号或数字信号传递到对方,然后再把对方传递
过来的信号还原成我们听得懂的语言。