2010-05-05 48 views
2

使用存儲庫模式時,建議每個數據庫表有一個存儲庫類?我是否也將一個服務層類映射到一個存儲庫類。我很難理解一個存儲庫或服務層類應該有多少東西。要放入Repository類多少錢?

謝謝!

回答

3

對於每個在您的域中是根聚合的類,您應該有一個存儲庫。

+1

根集合是什麼? – chobo 2010-05-05 22:08:58

+0

你可以在這裏找到一些信息:http://stackoverflow.com/questions/1958621/whats-an-aggregate-root – Dan 2010-05-06 13:43:14

3

存儲庫應該獨立於您的數據庫結構。它們封裝了從數據庫映射到域模型的所有工作,反之亦然。這可能涉及1個數據庫表,或者它可能來自10個表,這並不重要。

通常,單個存儲庫對應於單個域模型類,但這也不是不可破解的規則。如果您有幾個非常密切相關的域類,特別是在繼承或包含關係中,那麼存儲庫處理多個不同類型的情況並不罕見。不過,如果可以的話,嘗試堅持一個是個好主意。