1

所以,我在這裏看到了一些關於它的問題,但沒有一個是關於它的具體問題,也沒有回答我的疑問。在分層體系結構/ DDD應用程序中,控制器(常見MVC應用程序中的「C」)適合於哪一層?我讀過不同的地方,它可能在UI層或應用程序層,但我仍然無法圍繞什麼是正確的層。控制器在分層體系結構中的適用層/ DDD

我正在閱讀埃裏克埃文斯的DDD,直到我已經讀完這本書的時候,我還沒弄明白。我注意到他說如果UI層不太複雜,可以將它與應用程序層合併。這對控制器是否一樣?

回答

4

MVC通常是一種UI架構,因此控制器將成爲UI的一部分,調用應用程序服務,然後將響應轉換爲UI的適當格式。

如果您的應用程序足夠複雜以證明DDD,那麼它很可能足夠複雜,足以證明分離UI和應用程序層。

不過,這是思考和避免過度工程的好反射。如果您判斷現在不需要隔離,那麼沒有任何東西阻止您將控制器用作應用程序服務,並在需要時重新構造。

隨着MV *體系結構駐留在客戶端上的單頁面Web應用程序的新時代,隔離自然而來,因爲應用程序層位於不同的層上。