单一职责的简称是SRP(Single Responsibility Principle),这是一个备受争议的设计原则,如果你和别人争吵这个原则是屡试不爽的。
单一职责
顾名思义,单一职责就是尽量一个接口实现一个功能,其实本质就是解耦,不要把所有功能都融合到一给接口里面。
职责的划分
主要根据不同的角度划分,比如,
- 1、从类组成,划分为属性的操作,和行为操作两种。
- 2、从数据库操作的不同作用,划分为数据库的连接操作,和增删改查基本操作。
举例说明
| IUserInfo |
|---|
| Void setPassWord(String passWord) |
| Void setUserID(String userId) |
| String getUserID() |
| String getPassWord() |
| Boolean changePassword(String passWor) |
| Boolean changeUserId(String userId) |
这是一个很简单的类图,相信大部分程序员都能看明白,在这个接口类中,用户的属性和行为放在一共接口里面没有分开,可以说设计的很糟糕,下面我们来对他来进行拆分。
| IUserBo |
|---|
| Void setPassWord(String passWord) |
| Void setUserID(String userId) |
| String getUserID() |
| String getPassWord() |
负责用户属性的BO类接口
| IUserBiz |
|---|
| Boolean changePassword(String passWor) |
| Boolean changeUserId(String userId) |
负责用户的行为Biz接口
IUserInfo userInfo = new UserInfo();
//对实体赋值
IUserBo userBo = (IUserBo) userInfo;
userBo.setPassword("abc");
//处理业务逻辑操作
IUerBiz userBiz = (IUserBiz) userInfo;
userBiz.changeUserID("abc");
总结
根据用户的属性和行为划分接口,这就是面向对象编程的一种体现。在实际开发中我们默认就会这样去创建接口,其实就是遵循这单一职责原则,以后我们在设计接口的时候,不要让一共接口去做太多的事,而是考虑系统的扩展性和延升性去考虑,为后期项目的扩张提供一共可持续性发展的接口,可以有效的提升性能。
本文介绍单一职责原则(SRP),强调一个接口尽量实现一个功能以解耦。阐述了职责划分角度,如从类组成和数据库操作划分。通过类图举例说明接口拆分,以用户属性和行为划分接口是面向对象编程体现,遵循此原则可提升系统扩展性和性能。
667

被折叠的 条评论
为什么被折叠?



