单一原则
single responsibility principle:就是每一个类只做一件专一的事情,而不是一个类拥有很多功能。就是让每一个类或者接口单纯一点,不过这种划分的粗细粒度时根据具体情况而定的。所以只是非常依赖一个项目的特点。
public interface IUserBo {
public void setUserId(String id);
public String getUserId();
public void setPassword(String password);
public String getPassword();
public void setUserName();
public String getUserName();
public boolean changePassword(String oldPassword);
public boolean deleteUser();
public void mapUser();
public boolean addOrg(int orgid);
public boolean addRole(int roleId);
}
很显然上面这个业务对象是很不符合单一原则的因为它不仅有业务还有业务操作。应该拆开两个一个负责行为一个负责属性。
public interface IUserBo {
public void setUserId(String id);
public String getUserId();
public void setPassword(String password);
public String getPassword();
public void setUserName();
public String getUserName();
}
public interface IUserBiz {
public boolean changePassword(String oldPassword);
public boolean deleteUser();
public void mapUser();
public boolean addOrg(int orgid);
public boolean addRole(int roleId);
}
但是如何使用呢?
现在使用也有点意思。
//java中只有类可以多实现
public class IuserInfo implements IUserBiz,IUserBo{
}
IUserBiz userInfo=new IuserInfo();
IUserBo userBo=(IUserBo)userInfo;
userBo.setPassword("1111");
IUserBiz userBiz=(IUserBiz )userInfo;
userBiz.deleteUser();