用于创建不同用户类的正确设计方法

时间:2016-02-28 14:03:34

标签: java android oop design-patterns

我正在尝试创建具有不同用户的聊天应用:简单用户,VIP用户等。

所有类型的用户都拥有简单用户拥有的数据,例如:姓名,密码,电子邮件等,但所有其他用户类型只有他们的选项。

我想创建类SimpleUser,它将具有通过使用私有变量,getter / setter等实现的基本功能,而所有其他用户类型将拥有自己的类,扩展SimpleUser类并添加其uniqe功能

但是在看过这篇文章之后  Do subclasses inherit private fields?它似乎不是正确的做法。

我不确定使用Interface提供可选功能会有所帮助,因为我仍然使用getter / setter访问每个用户类型中的私有变量。

目前我在每个屏幕上都在检查用户的类型(为了选择他的rigth选项),它看起来很笨,有没有办法只检查一次用户的类型(当用户登录)并在所有屏幕中只使用他的uniqe功能?

  • 设计课程的正确方法是什么?

  • 是他们解决问题的唯一方法吗?

1 个答案:

答案 0 :(得分:0)

也许从另一方面处理事情,而不是考虑用户,或许考虑屏幕,每个用户都有一个"等级"屏幕提供了每个级别的功能,因为实际上功能并不是用户的屏幕,屏幕只是根据用户决定。

我认为我会使用带有Simple VIP等的枚举进行统计,并且此枚举将具有为该级别的用户执行适当操作的方法。