我一直在閱讀,現在已經看到工作單元模式的兩種不同的實現。第一種模式是將Repository與工作單元交談到一個域對象。工作單元:由服務層或存儲庫層創建/管理? C#/。NET
其他實施具有服務層註冊的域對象的修改:
我想我的問題是,有什麼好處/缺點每個?我知道,在爲存儲庫/映射器/等提供一些實現代碼的情況下,這很重要,但總的來說,究竟是誰/究竟應該爲UoW「升級」然後使用它負責?
我的想法是,如果你讓庫處理它,應該作爲注射接口庫(一個或多個),因此同樣UOW可以跨越多個存儲庫(也稱爲多域對象)提供...
如果服務層處理它,那麼每個服務層調用(例如,ServiceLayer.AddCustomer(customer))只有一個UoW實現是「卡住」的。
在網絡世界中,我看不到多個服務層被稱爲不同的域對象......但也許我可以在非網絡世界。
我想象最終必須調用「commit()」,所以最好將它綁定到服務層。
謝謝, 邁克
感謝這兩個偉大的答案。我知道它會歸結爲「根據您的應用程序需要」,但我只是想圍繞它開始討論。我經常發現,如果沒有真正意識到爲了獲得具體的工作方式而必須「放棄」的東西,那麼就很容易深入實施這些東西。再次感謝你們! – 2011-03-28 14:41:03