三層架構與MVC的區別

2021-03-16 12:01:26

一、三層架構

三層架構就是為了符合「高內聚,低耦合」的思想,把各個功能模組劃分為表示層(UI)、業務邏輯層(BLL)和資料存取層(DAL)三層結構,各層之間採用介面存取,並通過物件模型的實體類(Model)作為資料傳遞的載體,不同物件模型的實體類一般對應資料庫中不同的表,實體類的屬性與資料庫中表的欄位名保持一致。

開發人員將分工更為明確,將精力更關注於應用系統核心業務邏輯的分析、設計和開發,

三層架構可以在軟體開發過程中,劃分技術人員和開發人員的具體開發工作,重視核心業務邏輯的分析、設計和開發,提高資訊系統開發品質和開發效率,加快了專案的進度,有利於專案的更新和維護操作。

在這裡插入圖片描述

二、MVC

MVC開始是存在與桌面應用程式中的,M(Model)是業務模型、V(View)是使用者介面、C(Controller)是控制器,使用MVC的目的是將M和V的實現程式碼分離,從而使同一個程式可以使用不同的形式。

MVC指MVC模式的某種框架,它強制性的使應用程式的輸入、處理和輸出分開。使用MVC應用程式被分為三個核心部件:模型、檢視、控制器。它們各自處理各自的任務。最典型的MVC就是JSP+Servlet+JavaBean的模式。

在這裡插入圖片描述

三、三層架構與MVC的區別

同樣是架構,它們的相同之處在於表現層,都是用來負責顯示資料和提交資料的。
不同之處在於另外兩層,三層架構中沒有定義Controller的概念,這是兩者最大的區別。三層架構中當然也有Model層,但是兩者的不同在於,三層架構中的Model層是由「業務邏輯」+「資料存取」共同組成;而MVC中的Model是單指實體類。

四、最後總結

MVC和三層架構的區別:

MVC:
M 即Model(模型層),主要負責處理業務邏輯以及資料庫的互動
V 即View(檢視層),主要負責顯示資料和提交資料
C 即Controller(控制層),主要是永作輔助捕獲請求並控制請求轉發

三層架構:
UI 即介面層
BLL 即業務邏輯層
DAL 即資料存取層

1. 三層架構是基於業務邏輯來分的,而MVC是基於頁面來分的;
2. 三層是種軟體架構,通過介面實現程式設計,MVC模式是一種複合設計模式,一種解決方案;
3. 三層架構模式是體系結構模式,MVC是設計模式;
4. 三層架構模式又可歸於部署模式,MVC可歸於表示模式。