寻找建模模式

时间:2011-03-12 05:24:18

标签: java model

您好: 我正在使用任务发布系统。

在系统中,有一些部门,例如:开发/销售/产品等。

某些任务属于不同的部门。

最重要的导入模式:用户

使用此系统的人只是不同部门和老板(最大老板)的老板。)

这些人都在管理页面工作,普通老板只能发布和查看他/她部门的任务。他/她可以添加/删除/修改任务(修改意味着他可以设置状态任务:DONE / DOING / NOT START),他/她的所有操作都应该由最大的老板验证。

最大老板可以查看/添加/删除/修改所有部门的所有任务,也可以添加删除用户(普通老板),设置用户的权限(用户可以看到哪个部门的任务。)

=================== 以下是我自己的设计:

Department
  String name;//name of this department

  List<Task> listAllTasks();// list all tasks belong to this department

Task
  String name;
  String desc;//description of this task
  Date startTime;//when this task will start
  Date endTime;
  int status; //is this task done? doing? not starting?
  String executorName; //the name of the person who will responsible for this task(here the person does not need to be common boss,just a name).
  Department depart;//which department does this task belong to ?

Boss
  String loginName;
  String realName;
  String password;
  Department depart;//which department does this boss belong to ?

以上就是我的想法,我不知道继续进行权威设计。

例如,最大的老板怎么样,当然他/她不属于任何部门,但他拥有最大的权威。

任何人都可以帮我一个忙吗?

顺便说一句,我将使用hibernate作为DAO,使用struts2作为Web控制器。

1 个答案:

答案 0 :(得分:1)

将您的Boss课程更改为Person,然后添加@ManyToOne Person superior(假设每位员工只有一名上级)。

@ManyToMany List<Person> superiorList=new ArrayList<Person>()如果每位员工有多个上司;

如果某人是嘘声(组织树中的最高权限),则superiorsuperiorList将为空。

对于角色

创建角色类

Role 
@OneToMany List<Task> taskList = new ArrayList<Task>();
role_code
如果一个人只能分配一个角色,

在Person类中放置多个角色

@ManyToOne Role role

@ManyToMany List<Role> roleList

如果可以为一个人分配多个角色。