1. 程式人生 > >淺談MVC與三層架構

淺談MVC與三層架構

級別 ace isp 數據訪問 velocity 映射 領域 mark gmv

  mvc: model(模型),view(視圖),controller(控制器)

  三層架構:展現層(User Interface layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data access layer)。

   mvc和三層架構雖然看起來都是三層, 但是二者卻是兩個不同級別的東西。

   首先mvc屬於一種設計模式,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件裏面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。

  三層架構 區分層次的目的即為了“高內聚,低耦合”的思想。在軟件體系架構設計中,分層式結構是最常見,也是最重要的一種結構。一般分為三層,從下至上分別為:數據訪問層、業務邏輯層(又或稱為領域層)、表示層。

筆者認為 mvc模式應該屬於gui的設計思想,並不是系統級別的架構思想。

  事實上,MVC只存在於三層架構的 展現層(UI),m為數據模型,包含了數據對象。V指的是界面,包含了jsp,freeMarker,Velocity,Thymeleaf等等。C可以理解為用來控制model與view通信的中間件。比如SpringMVC的DispatcherServlet 和Struts2中的FilterDispatcher。

淺談MVC與三層架構