2011-03-21 36 views
0

假設我有三個實體。如何選擇正確的行爲來實現邏輯業務

  • 任務
  • 用戶

用戶可以發佈一些任務屬於他的部門。他可以屬於多個部門。

三個實體的關係是:

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

我使用Hibernate和我設置的所有關聯的爲雙向。

現在我有一些要求:

  1. 列出所有屬於一個特定的用戶(該用戶發佈的任務)的任務。
  2. 列出屬於用戶部門的所有任務(如果此用戶屬於dep1和dep2,現在我應列出dep1和dep2的所有任務)。
  3. 列出部門的所有任務。
  4. 列出所有部門的所有任務。

這些邏輯代碼並不難,但我在哪裏放這些邏輯?到UserAction或TaskAction或DepartmentAction?

回答

1

如果您使用的是Rest插件,那麼通常可以使用DepartmentActionTaskActionUserAction,但您無需將自己限制爲像這樣的包含所有操作的操作。

從您的描述來看,這聽起來對於我來說,這四個要求都是真正的一項行動,它按各種標準列出任務。因此,我會創建一個名爲ListTasksAction的動作。此操作將採用參數來指示要限制的四個標準中的哪一個。

您也可以爲四個需求創建單獨的操作(也許使用共享的接口或抽象類)。