簡體   English   中英

在哪個層中控制器適合分層架構/ DDD

[英]In what layer do controllers fit in layered architecture/DDD

所以,我在這里看到了一些關於它的問題,但沒有一個是關於它的具體問題,也沒有回答我的疑問。

在分層架構/ DDD應用程序中,控制器(常見MVC應用程序中的“C”)在哪個層中適合? 我在不同的地方讀過它可能在UI層或應用程序層中,但我仍然無法繞過正確的層。

我正在閱讀埃里克埃文斯的DDD,直到我達到這本書的那一點我還想不通。 我注意到他說如果UI層不復雜,你可以將它與應用層合並。 這會對控制器產生相同的影響嗎?

MVC通常是UI體系結構,因此控制器將成為UI的一部分,調用應用程序服務,然后將響應轉換為適合UI的格式。

如果您的應用程序足夠復雜以證明DDD的合理性,那么它很可能足夠復雜以證明隔離UI和應用程序層。

盡管如此,思考並避免過度工程是一種很好的反應。 如果您判斷現在不需要隔離,那么沒有什么可以阻止您將控制器用作應用程序服務,並在以后需要時重構。

隨着MV *架構存在於客戶端的單頁Web應用程序的新時代,隔離自然而然,因為應用程序層位於不同的層上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM