我正在处理设计模式问题:在图书馆系统中,管理员可以将用户信息管理(例如,创建或搜索用户信息)的某些权限授予其他部门或学校。因此,我尝试使用访客模式。像教师和学生这样的用户是User的子类,而管理员或其他部门是访问者。
但是,也可以添加更多用户类型。在访问者模式中添加更多元素是不合适的。我应该选择哪种设计模式呢?谢谢!
答案 0 :(得分:1)
根据您所写的内容,我认为您过度设计了解决方案。您要解决的问题是什么?访客访问Composite结构中的对象,并使用双重调度以选择要调用的方法。您似乎需要解决的所有问题是带有User
方法的setAccess
超类,以及诸如Teacher
和Student
之类的子类。