2017-07-29 20 views
0

我們正在開始一個新項目並嘗試實施來自域驅動設計的一些概念。我們計劃有以下各層:WebAPI中的應用服務代碼

  1. Web界面(的WebAPI)
  2. 應用服務(庫)
  3. 域服務(庫)
  4. 數據訪問服務(庫)

我們正在考慮將Web界面和應用程序服務合併在一起。因此,我們的webAPI將與存儲庫,域模型和域服務進行交流。

這是好事還是應該我們有單獨的項目形式的應用程序服務和WebAPI應該只與應用程序服務通信?

感謝

+1

粗粒度的應用程序服務可能會起到中介的作用,但可能沒有任何問題,但在我需要它們之前,我傾向於在沒有這些服務的情況下啓動它們。有時代理團隊對於我來說太麻煩了,例如:SomeService.Find(id)與SomeQuery.Find(id)... ...沒有多大關係:) –

回答

2

HTTP應被看作是潛在的許多接入端口一個達到您的應用服務。如果你可以完全確定你不需要通過HTTP之外的另一個通信渠道與你的應用程序通信,那麼我可以說完全沒有獨立的應用程序層。

但是,我也想說,很難預測應用程序需求會如何發展,並且因爲添加額外的間接層來立即隔離應用程序層不應該是非常昂貴的(這只是委託),這就是我會做。