单一职责原则
来源:互联网 发布:数据分析找规律问题 编辑:程序博客网 时间:2024/05/24 04:14
单一职责原则简介
- 英文名称是Single Responsibility Principle,简称SRP 。
- 不要存在多于一个导致类变更的原因。
最佳实践
- 一个普通的系统,肯定会接触到用户,机构,角色管理这些模块,基本上使用都是RBAC模型(Role-Based Access Cotrol),基于角色访问控制,通过分配和取消角色来完成用户的权限授予和取消,使动作主体(用户)与资源的行为(权限)分离,确实是个比较好的解决方法。我们这里讲的是用户管理、修改用户信息、增加机构(一个人属于多个机构)、增加角色等,用户有这么多的信息和行为要维护,我们就把这些写到接口中,都是用户管理类。
public interface IUserInfo { void setUserID(String userID); String getUserID(); void setPassword(); String getPassword(); String setUserName(String userName); String getUserName(); boolean changePassword(String oldPassword); boolean deleteUser(); void mapUser(); boolean addOrg(int orgID); boolean addRole(int roleID);}
- 这个接口明显设计有问题,用户的属性和行为没有分开,严重的错误。设计一团糟糕,应该把用户的信息抽取成一个BO(Business Object,业务对象),把行为抽取成一个Biz(Business Logic,业务逻辑),按照这个思路对类重新设计。
//用户类public interface IUserBO { void setUserID(String userID); String getUserID(); void setPassword(); String getPassword(); String setUserName(String userName); String getUserName();}//业务逻辑类public interface IUserBiz { boolean changePassword(String oldPassword); boolean deleteUser(); void mapUser(); boolean addOrg(int orgID); boolean addRole(int roleID);}
- 重新拆封成了两个接口,IUserBO负责用户属性,简单地说,IUserBO的职责就是收集和反馈用户信息。IUserBiz负责用户的行为,完成用户的信息的维护和变更。
以上我们把一个接口拆分成了两个动作,就是依赖了单一职责原则,那什么是单一 职责原则?定义如上。
0 0
- 单一职责原则(SRP)
- 单一职责原则--SRP
- 单一职责原则
- 单一职责原则
- 单一职责原则SRP
- SRP单一职责原则
- 单一职责原则--SRP
- 单一职责原则
- 单一职责原则--SRP
- 单一职责原则
- SRP:单一职责原则
- 单一职责原则
- 单一职责原则
- 单一职责原则?
- 2.2 单一职责原则
- 单一职责原则
- 单一职责原则
- 单一职责原则--SRP
- Android 基于Bmob的聊天——用户登陆+将用户信息保存至本地
- 记录一些操作过程
- JAVA小结
- 微信扫码支付的坑(android)
- 设计模式之备忘录模式(Memento模式)的使用分析
- 单一职责原则
- 用商务智能(BI)发展企业全球化
- mac android studio Waiting for application to come online解决方案
- android报找不到so的错误
- android 主线程是线程不安全的
- C# 设置程序随机启动
- 在北京外地农村户口和城镇户口五险一金的区别?
- 抽象工厂模式
- 【Android】Lambda表达式