2011-06-02 107 views
1

我正在用DDD創建一個Bug跟蹤器應用程序(玩具一)。我有一個BugRepository,其中包含像Add/Delete/Save這樣的方法和一個擁有相同類型方法的用戶Repository(實際上它們都是從IRepository派生的)。現在Bug有一個名爲「Assigned To」的屬性,它是DB中存儲用戶ID的列。Bug跟蹤器體系結構

現在我需要一個名爲「FindAssignee」的方法,或者更確切地說我想知道這個bug分配給誰。我在哪裏放?

我在想我可以說 - >在BugRepository中添加一個名爲「FindAssignee」的方法。但是這會返回一個「USER」對象。這可以嗎?不是聚合根存儲庫(Bug這種情況)應該只返回它們的實體(Bug再次)?

+0

我假設DDD代表域驅動設計。像我一樣無能的人喜歡把事情拼寫出來;) – phihag 2011-06-02 11:58:30

+0

@phihag - Mea Culpa。將在未來的帖子中闡述。 – VJVRR 2011-06-02 12:06:19

回答

0

可以嗎?

是的。

聚合根目錄(錯誤這種情況)是否應該只返回它們的實體(Bug再次)?

是的。

但是您的查詢不是聚合根。

您的查詢所對應的是一個具有一個或多個Assignees的特定Bug。

+0

@ S.Lott - 感謝您的回覆。在我的情況下,用戶也是一個聚合根。這會改變你的答案嗎? – VJVRR 2011-06-02 11:53:56

+0

@ user554833:完全沒有。物體彼此是「相關的」,否則這個世界會陷入無關緊要的亂七八糟的孤島之中。 – 2011-06-02 11:57:35

+0

@ S.Lott - 感謝您的跟蹤。我問具體是因爲 - 你提到 - 「但你的查詢不是一個聚合根」。這個評論有特別的理由嗎?我想深入瞭解我的知識! – VJVRR 2011-06-02 12:01:49