如何选择正确的行动来实施逻辑业务

时间:2011-03-21 13:11:50

标签: struts2 action

假设我有三个实体。

  • 任务
  • 用户

用户可以发布属于他的部门的一些任务。他可以属于多个部门。

三个实体的关系是:

User---Task----many2many
User-Department --Many2many
Task--Department -- many2one

我使用Hibernate并将所有关联设置为双向。

现在我有一些要求:

  1. 列出属于指定用户的所有任务(此用户发布的任务)。
  2. 列出属于用户部门的所有任务(如果此用户属于dep1和dep2,现在我应该列出dep1和dep2的所有任务)。
  3. 列出某个部门的所有任务。
  4. 列出所有部门的所有任务。
  5. 这些逻辑代码并不难,但我在哪里放这些逻辑?到UserAction或TaskAction或DepartmentAction?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Rest插件,那么通常可以使用DepartmentActionTaskActionUserAction,但您无需限制你自己去做那些无所不包的行动。

从你的描述中,我觉得这四个要求都是一个按各种标准列出任务的行动。因此,我会创建一个名为ListTasksAction的单个操作。此操作将采用参数来指示要限制的四个标准中的哪一个。

您还可以为这四个要求创建单独的操作(可能使用共享接口或抽象类)。