1、表現層(ui):通俗講就是展現給使用者的介面,即使用者在使用乙個系統的時候他的所見所得。
2、業務邏輯層(bll):針對具體問題的操作,也可以說是對資料層的操作,對資料業務邏輯處理。
3、資料訪問層(dal):該層所做事務直接運算元據庫,針對資料的增添、刪除、修改、更新、查詢等。
表現層實現的代表作品是struts框架,業務層實現的代表作品是spring,持久層實現的代表作品是hibernate。
舉個例子:
持久層從持久庫中取出-10。
業務層按照一定的邏輯(這裡我們舉例取溫度的邏輯)翻譯成-10攝氏度。
表示層顯現給使用者「哎呀,今天好冷!」。
層就相當於乙個黑盒子,我們不用知道它內部怎麼實現,只需要知道如何去呼叫它就行了。每層只與上下相鄰的兩層打交道。當一層內部由於技術變遷發生變化時,只要介面不變,其他層不用做任何改變。分層之後靈活性提高,也便於團隊分工開發。
2.1 標準的mvc(model-view-controller)
從圖中我們還看到,在標準的mvc中模型能主動推資料給檢視進行更新(觀察者設計模式,在模型上註冊檢視,當模型更新時自動更新檢視),但在web開發中模型是無法主動推給檢視(無法主動更新使用者介面),因為在web開發是請求-響應模型。
2.2 web mvc
web mvc中的m(模型)-v(檢視)-c(控制器)概念和標準mvc概念一樣,我們再看一下web mvc標準架構,如下圖所示:
在web mvc模式下,模型無法主動推資料給檢視,如果使用者想要檢視更新,需要再傳送一次請求(即請求-響應模型)。
m:(model) 模型 : 應用程式的核心功能,管理這個模組中用的資料和值;
v(view )檢視: 檢視提供模型的展示,管理模型如何顯示給使用者,它是應用程式的外觀;
c(controller)控制器: 對使用者的輸入做出反應,管理使用者和檢視的互動,是連線模型和檢視的樞紐。
mvc用於將web(ui)層進行職責解耦
mvc是 model-view-controller,嚴格說這三個加起來以後才是三層架構中的ui層,也就是說,mvc把三層架構中的ui層再度進行了分化,分成了控制器、檢視、實體三個部分,控制器完成頁面邏輯,通過實體來與介面層完成通話;而c層直接與三層中的bll進行對話。
mvc可以是三層中的乙個表現層框架,屬於表現層。三層和mvc可以共存。
三層是基於業務邏輯來分的,而mvc是基於頁面來分的。
mvc主要用於表現層,3層主要用於體系架構,3層一般是表現層、中間層、資料層,其中表現層又可以分成m、v、c,(model view controller)模型-檢視-控制器
mvc是表現模式(presentation pattern)
三層架構是典型的架構模式(architecture pattern)
三層架構的分層模式是典型的上下關係,上層依賴於下層。但mvc作為表現模式是不存在上下關係的,而是相互協作關係。即使將mvc當作架構模式,也不是分層模式。mvc和三層架構基本沒有可比性,是應用於不同領域的技術。
from:
三層架構和MVC模式
概述 在軟體體系架構設計中,分層式結構是最常見,也是最重要的一種結構。微軟推薦的分層式結構一般分為三層,從下至上分別為 資料訪問層 業務邏輯層 又或成為領域層 表示層。三層結構原理 3個層次中,系統主要功能和業務邏輯都在業務邏輯層進行處理。所謂三層體系結構,是在客戶端與資料庫之間加入了乙個 中間層 ...
MVC和三層架構
一 mvc m model 模型 應用程式的核心功能,管理這個模組中用的資料和值 v view 檢視 檢視提供模型的展示,管理模型如何顯示給使用者,它是應用程式的外觀 c controller 控制器 對使用者的輸入做出反應,管理使用者和檢視的互動,是連線模型和檢視的樞紐。1.1 mvc如何工作 m...
MVC和三層架構
一 mvc m model 模型 應用程式的核心功能,管理這個模組中用的資料和值 v view 檢視 檢視提供模型的展示,管理模型如何顯示給使用者,它是應用程式的外觀 c controller 控制器 對使用者的輸入做出反應,管理使用者和檢視的互動,是連線模型和檢視的樞紐。1.1 mvc如何工作 m...