0

VS 2010/C#組織項目水溶液W /儲存庫

接口試圖組織一個解決方案,並尋找命名將承載接口儲備庫項目選項。

我: MyProject.Domain

MyProject.WebUI

MyProject.Repositories

MyProject.Interfaces?

到目前爲止「接口」是我想到的最好的名字,但我不喜歡它。任何想法/建議?

回答

1

將存儲庫接口與域對象本身放在同一個程序集中並不罕見。這就是Jeffrey Palermo在他的關於The Onion Architecture的系列文章中所討論的內容。就我個人而言,我也這樣做。

至於其背後的推理,我認爲定義倉庫與域對象的關係是完全合乎邏輯的。在我看來,考慮到存儲庫的行爲與域本身的權重相當。假設您有一個團隊或開發人員使用域模型,並在與域專家合作後定義存儲庫接口。他/她的角色是確保關於域與存儲庫相關的知識如何傳遞,但不一定是存儲庫本身。

這樣做,將這個程序集交給團隊中的其他人,UoK(知識單元,我自己的術語)就受限於程序集。編寫存儲庫實現的人員將根據彙編中傳輸的知識進行編碼。由於這個UoK根據存儲庫的實現方式不變,所以從數據訪問的角度來看,它邏輯上會進入另一個程序集。