對三層架構和MVC的淺認識

2021-08-26 08:25:11 字數 1775 閱讀 9968

三層架構是為了程式**之間解耦所使用的一種架構模式,區分層次的目的即為了「高內聚,低耦合」的思想。 

三層分為表示層、業務邏輯層和資料訪問層,三層之間相互影響卻又不相互牽制,比如你要修改表示層的內容,這時候,你不需要去考慮其他兩層的**實現,只需要把表示層的做好就行,需要用到資料了,就去業務邏輯層進行呼叫,當業務邏輯層收到來自表示層的請求,它就會按照設定好的流程去資料訪問層拿資料,拿到之後再轉給表示層。舉個例子來解釋:

表示層相當於服務員,顧客點了什麼菜,菜上給第幾桌,這些是它的責任,而業務邏輯層相當於廚師,服務員送上來的選單 上的菜都是廚師(也就是業務邏輯層)做的,資料訪問層呢,則是廚師的小工,負責切菜,洗菜等和原材料打交道的工作。

相互之間最終形成了這樣的關係:小工的工作要滿足廚師的要求,而廚師則滿足服務員的要求,而服務員則滿足顧客的要求。下面找了其他部落格上的一張圖來詳細說明他們的關係(表現層即表示層):

mvc設計模式

mvc是指:model模型、view檢視、controller控制項器。

view:檢視,為使用者提供使用介面,與使用者直接進行互動。

model:模型,承載資料,並對使用者提交請求進行計算的模組。其分為兩類,一類稱為資料承載bean,一類稱為業務處理bean。所謂資料承載bean是指實體類,專門承載業務資料的,如student、user等。而業務處理bean則是指service或dao物件,專門用於處理使用者提交請求的。

controller:控制器,用於將使用者請求**給相應的model進行處理,並處理model的計算結果向使用者提供相應響應。 mvc架構程式的工作流程是這樣的:

(1)使用者通過view頁面向服務端提出請求,可以是表單請求、超連結請求、ajax請求等。

(2)服務端controller控制器接收到請求後對請求進行解析,找到相應 的model對使用者請求進行處理。

(3)model處理後,將處理結果再交給controller。

(4)controller在接到處理結果後,根據處理結果找到要作為向客戶端發回的響應view頁面。頁面經渲染(資料填充)後,再傳送給客戶端。

mvc 三、關係

1、mvc與三層架構的關係

mvc與三層架構很相似,但它們並不一樣。如果以三層架構為背景,那麼mvc的三個部分分別對應的是什麼?

三層架構中的view層簡單的說就是跟使用者發生直接關係的層,mvc中的v和c就是這樣的存在,所以mvc中的v和c均屬於三層架構的view層。同時,我們知道mvc中的m(model)包括了資料承載bean和業務處理bean,其中業務處理bean分為service或dao物件,分別對應業務邏輯處理和資料庫操作,相應的,它們對應的是三層架構中的service層和dao層。

2、ssm與三層架構的關係

ssm即springmvc、spring、mybatis三個框架。它們在三層架構中所處的位置是不同的,即它們在三層架構中的功能各不相同,各司其職。

springmvc:作為view層的實現者,完成使用者的請求接收功能。springmvc的controller作為整個應用的控制器,完成使用者請求的**及對使用者的響應。

mybatis:作為 dao層的實現者,完成對資料庫的增、刪、改、查功能。

spring:以整個應用大管家的身份出現。整個應用中所有的bean的生命週期行為,均由spring來管理。即整個應用中所有物件的建立、初始化、銷毀,及物件間關聯關係的維護,均由spring進行管理。

MVC和三層架構

一 mvc m model 模型 應用程式的核心功能,管理這個模組中用的資料和值 v view 檢視 檢視提供模型的展示,管理模型如何顯示給使用者,它是應用程式的外觀 c controller 控制器 對使用者的輸入做出反應,管理使用者和檢視的互動,是連線模型和檢視的樞紐。1.1 mvc如何工作 m...

MVC和三層架構

一 mvc m model 模型 應用程式的核心功能,管理這個模組中用的資料和值 v view 檢視 檢視提供模型的展示,管理模型如何顯示給使用者,它是應用程式的外觀 c controller 控制器 對使用者的輸入做出反應,管理使用者和檢視的互動,是連線模型和檢視的樞紐。1.1 mvc如何工作 m...

MVC和三層架構

mvc是軟體工程中的一種架構模式,把軟體系統分為三個部分 模型 model 檢視 view 控制器 controller 控制器 controller 控制請求的處理邏輯,並對請求進行處理,負責請求 檢視 view 即使用者看到並與之互動的介面 模型 model 模型代表著一種企業規範,就是業務流程...