项目说明:本项目为远程教育网络学院学生信息管理系统。我主要 想用工厂模式处理各级查询权限的问题。 
权限表:此表是一个简化的表:
实际组织还包括:教师、教学中心、专业负责人、数据管理员、教育专家等权限也更多,系统记录了20多种学生数据,供各部门分级别查询。数据既有横向分割,也有纵向分割。
 
具体图见:http://www.nfdx.net/uml/uml.htm在上图中,我在职能部门这个抽象工厂里,做了一个索引器(集合),用于增加权限,从而使得具体工厂可以增加权限表中的横向各具体权限。
   我在抽象产品里做了一个抽象方法:查询数据。在具体产品里实现这个抽象方法,根据客户端传过来的对象不同,进行不同的权限查询。具体产品里的这个查询,我采用多态的方式进行。因为虽然都是查询成绩,但“院长”只查询各类统计数据。教务处既有统计数据,又有明细数据。学生只查询明细数据。
问题:我这样做行不行?我隐约感觉到用多态来实现这个具体产品有问题。但不知道如何处理好。谢谢您的帮助与支持!!!!!!!!!!!!!!!

解决方案 »

  1.   

    权限功能模块 可以直接用面向对象的概念来做,因为类是可以封装数据的,把所有和用户有关的数据都封状到类中,然后在做一个个public的属性,然后在别的页面直接判断这些属性就可以进行生分验证了。   其实也用不着用工厂模式来做,只要把这个生分验证类作成静态的就可以了。
       我以前的项目中涉及到生分验证的都是这么做的,只要你的生分验证类写的好点的话,程序中相当的方便。
      

  2.   

    说一句比较恶心的。用笔和纸来画你的项目可能能完工。用UML来描述,你的项目可能流产。