雖然隨著年紀漸大,越來越不愛東坡肉,但每次想到東坡肉就會想到他的分層,每一層都有它獨特的風味,就跟MVC三層架構一樣(有點硬凹?),即使在Spring Boot,也是運用到MVC架構,用以確保程式的靈活與維護性。
意指核心模型Model,處理業務邏輯以及資料的存取。在Spring Boot當中,相當於實體類Entity以及邏輯處理,能夠透過操作從DB讀取或寫入資料。
例如一個member類,會處理與會員相關的數據操作。
以視覺為主,負責呈現給使用者的界面,以Spring Boot來說,JSP、Thymeleaf這些都是與前端相關的View視圖範疇,讓使用者不只看得到,還能藉此與Model互動。
若是採用前後端分離的設計架構,View就會是前端技術,如React、Vue、Angular等,透過API與後端交互,以此渲染使用者界面。
負責協調Model與View之間的互動,從前端接收使用者的請求,處理這些請求,再來決定如何更新Model,並選擇合適的View呈現結果。以Spring Boot來說,Http請求,是由Controller負責接收處理,接著呼叫服務層,執行業務邏輯,處理完再將結果返回給前端。
若採前後端分離的設計架構,則是會將結果以JSON等格式返回給前端,不會值接渲染視圖。
分層的好處在於他們各自處理自己負責的區塊,可使應用程式模組化,易於維護以及後續的擴展。