十九009 2014-12-15 01:46 采纳率: 25%
浏览 2203

一个查询功能,管理员,教师,专家,查询的结果不同,应该如何设计代码

问题描述如下:
                查询学生的信息。管理员可以查询所有人的信息。教师只能查询自己班级的信息。专家只能查询自己负责班级的信息。
                现在代码结果,我在一个方法中做判断,这样查询也可以得到查询结果。但是我觉得,这样做的话,如果其他的功能中也有相似的权限设置,又要查询一次,也不符合面向对象的设计原则 。请帮忙解答,不盛感激!
  • 写回答

3条回答 默认 最新

  • modii 2014-12-15 01:59
    关注

    重新抽象对象设计,从你的描述中,可以这样抽象:被管理对象有:学生、班级(学生分组)。管理对象有:教师、专家。
    我们可以这样设计数据结构:班级表:保存基本班级信息
    学生表:包含学生基本信息 以及 学生所属班级
    教师表:包含教师基本信息 以及 教师管理的班级信息(一个教师一个班级直接存于主表、多个可以根据实际情况考虑字表)
    专家表:设计类似教师表。

    此时查询时:只需要从教师或者专家对象上获得 管理范围内的班级,然后查询学生表 班级字段是管理范围内的所有 学生,就可以了。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog