在我的系统中,我有 2 个类:User 和 LoginUser 类。LoginUser 是用户的孩子。在 2 个对象 - User 和 LoginUser 之间可能存在各种通信(好友请求、照片请求、好友请求接受等)。基于 LoginUser 的成员身份,有不同的安全权限,基于这些权限,会有不同的消息。
对于给定的场景,我应该使用哪种设计模式?我正在考虑使用调解器设计模式。
在我的系统中,我有 2 个类:User 和 LoginUser 类。LoginUser 是用户的孩子。在 2 个对象 - User 和 LoginUser 之间可能存在各种通信(好友请求、照片请求、好友请求接受等)。基于 LoginUser 的成员身份,有不同的安全权限,基于这些权限,会有不同的消息。
对于给定的场景,我应该使用哪种设计模式?我正在考虑使用调解器设计模式。
这不是真正的设计模式,但我会拆分这两个概念:权限和用户信息。
从可读性的角度来看,当我看到一个子类时,我通常会假设还有其他一些互斥的子类。例如,如果我看到一个 Animal 接口和一个 MeatEater 子类,我会假设在其他地方有一个 VeggieEater 子类。LoginUser 是一个子类并且所有用户都是 LoginUsers 的事实对我来说感觉不自然。
从设计的角度来看,您是 LoginUser 有 2 个不同的职责:
1)房屋用户级别信息,例如用户名、电子邮件、朋友等
2)确定权限
我会试着打破这个。如
public class User {
// keep info in here
private String username;
private String email;
}
public class Authorization {
// this will determine access
public Authorization(User user) { this.user = user; }
public boolean isAccessAllowed(String someAction) { // ... }
}
像这样的事情会打破不同的责任。