一、三層架構
三層架構(3-tier architecture) 通常意義上的三層架構就是將整個業務應用划分為:界面層(User Interface layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data access layer)。區分層次的目的即為了“高內聚低耦合”的思想。在軟件體系架構設計中,分層式結構是最常見,也是最重要的一種結構。微軟推薦的分層式結構一般分為三層,從下至上分別為:數據訪問層、業務邏輯層(又或稱為領域層)、表示層。
二、MVC
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。
三、三層架構和MVC的區別
MVC(模型Model-視圖View-控制器Controller)是一種架構模式,可以用它來創建在域對象和UI表示層對象之間的區分。
同樣是架構級別的,相同的地方在於他們都有一個表現層,但是他們不同的地方在於其他的兩個層。
在三層架構中沒有定義Controller的概念。這是最不同的地方。而MVC也沒有把業務的邏輯訪問看成兩個層,這是采用三層架構或MVC搭建程序最主要的區別。當然了。在三層中也提到了Model,但是三層架構中Model的概念與MVC中Model的概念是不一樣的,“三層”中典型的Model層是由業務邏輯與訪問數據組成的。而MVC里,則是以實體類構成的。
四、筆記總結
MVC和三層架構的區別:
M 即Model(模型層),主要負責處理業務邏輯以及數據庫的交互
V 即View(視圖層),主要負責顯示數據和提交數據
C 即Controller(控制層),主要是永作輔助捕獲請求並控制請求轉發
三層
UI界面層
BLL業務邏輯層
DAL數據訪問層
三層是基於業務邏輯來分的,而mvc是基於頁面來分的
MVC模式是一種復合設計模式,一種解決方案
三層是種軟件架構,通過接口實現編程
三層模式是體系結構模式,MVC是設計模式
三層模式又可歸於部署模式,MVC可歸於表示模式