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

问题描述

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

解决方案

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

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

解决方案二:
用中间表做个关联,设置不同人员对应的班级人员的对应关系。然后登陆的时候查询加载不同的人员。

解决方案三:
我刚才说的不对。两个用的同一个方法getStudent。

时间: 2024-11-01 08:41:39

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

关于jsp链接数据库按条件查询功能实现,有哪位大神说说吗?

问题描述 关于jsp链接数据库按条件查询功能实现,有哪位大神说说吗? jsp链接数据库实现查询功能,通过选择查询条件,将数据库中符合条件的数据显示在表格中 解决方案 这个很好做啊!连接了数据库直接根据条件(id或别的字段)操作数据库,实现查询功能 解决方案二: 大神链接

大哥 能不能指导我一下如何做一个identify 查询功能啊

问题描述 大哥 能不能指导我一下如何做一个identify 查询功能啊 5C 像arcgis里面的identify那样,求指点 谢谢啦..... 解决方案

求大神帮下忙,小弟需要一个java连接sql server数据库实现查询功能的代码

问题描述 求大神帮下忙,小弟需要一个java连接sql server数据库实现查询功能的代码 如题 求大神给个查询功能的代码 做毕业设计需要 帮帮忙 下面附上添加功能的代码 public int Add(Client c) { int count=0; try { con=this.getcon(); String sql=String.format("insert Client values('%s',%d,'%s','%s','%s','%s','%s',0,'%s')", c.g

android-Android 查询功能使用一个 EditText 中的字符串

问题描述 Android 查询功能使用一个 EditText 中的字符串 Android 中的搜索功能在程序中可以执行.我使用 onSearchRequested();来调用搜索功能 现在我不想使用onSearchRequested(); 把一个字符串从一个 EditText 传递到 search 方法中,并把结果显示在list中. 当调用onSearchRequested时,search 方法可以运行. SearchPage Activity: DBHelper = new DBAdapter

一个查询功能,如何根据checkbox选中的值到数据库查询对应的字段。

问题描述 一个查询功能,如何根据checkbox选中的值到数据库查询对应的字段. 之前是用的下拉框,即单选,现在想改成用checkbox多选,不知道怎么写. 把checkbox的name都写成一样的,然后 String[] checkbox = request.getParameterValues("")? 解决方案 name写成一样是对的 你可以拿到参数值后输出一下看看是如何分割的 然后再做处理 也可以你在前台提交前通过js处理好你的参数 再提交到后台 解决方案二: 可以前台定义一个

android java-想做一个大学成绩等查询功能的客户端

问题描述 想做一个大学成绩等查询功能的客户端 想做一个校园客户端,实现学籍.成绩.图书等查询功能.基于android开发,我是初学者,请问大神要怎么开发,需要哪些知识? 解决方案 那就先有c++,c,的基础后直接上android

【原创】Newlife.XCode的常见功能使用(一)查询与数据初始化

        本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html Newlife XCode组件相关文章目录:http://www.cnblogs.com/asxinyu/p/4329747.html 1.前言 声明:此Newlife.XCode非Mac的XCode,避免误会. 1.QQ群:1600800 2.博客论坛 : NewlifeX论坛 (同时也是.Net Micro Framework/ApolloOS的交流论坛,帮

一分钟了解阿里云产品:开放搜索的模糊查询功能

开放搜索的模糊查询功能都有哪些,又分别用在什么场景呢?   开放搜索的模糊查询有以下3个功能,用户可以根据实际情况选择最合适的一种:   1 在控制台高级配置->查询分析功能     词权重并不是一个标准的模糊查询,以截图里的例子,会先搜索query="开放"+"搜索"+"好"+"不好",如果这样没办法召回文档的话,会改写query,变成 "开放"+"搜索" RANK "

使用xmlhttp为网站增加域名查询功能

xml 当我们准备建立一个Web站点时,就必须向域名登记机构申请一个Internet域名,因此,我们通常希望了解自己准备使用的域名是否已经被注册,这时,可以访问NIC站点http://www.nic.net,点击"whois"链接后输入需查询的域名,就可以得到我们需要的结果. WHOIS服务器为 .com..net 和 .org 的国际顶级域名的查询返回全部的 whois 数据,包括网站域名注册人.管理合约.联系方式(电话.电子邮件.地址).帐单联络.技术支持和域名服务器信息,对于用户