对此要求是否有更好的设计模式?

时间:2019-01-24 11:13:54

标签: design-patterns

我正在处理设计模式问题:在图书馆系统中,管理员可以将用户信息管理(例如,创建或搜索用户信息)的某些权限授予其他部门或学校。因此,我尝试使用访客模式。像教师和学生这样的用户是User的子类,而管理员或其他部门是访问者。

但是,也可以添加更多用户类型。在访问者模式中添加更多元素是不合适的。我应该选择哪种设计模式呢?谢谢!

1 个答案:

答案 0 :(得分:1)

根据您所写的内容,我认为您过度设计了解决方案。您要解决的问题是什么?访客访问Composite结构中的对象,并使用双重调度以选择要调用的方法。您似乎需要解决的所有问题是带有User方法的setAccess超类,以及诸如TeacherStudent之类的子类。