首頁歷史 > 正文

經典三層及MVC模式區別

2021-12-26由 BUG哥 發表于 歷史

經典三層

基本上市面上軟體系統開發架構⼀般都是基於兩種形式,⼀種是C/S架構,也就是客戶端/伺服器;另⼀種是B/S架構,也就是瀏覽器伺服器。在JavaEE開發中,⼏乎全都是基於B/S架構的開發。那麼在B/S架構中,系統標準的三層架構包括:表現層、業務層、持久層。三層架構中,每⼀層各司其職,接下來講一下三層架構的基本概念

經典三層及MVC模式區別

表現層

表現層基本上就是我們說的web層。web層主要負責接受客戶端請求,向客戶端相應結果,通常客戶端使用http請求web層,web層需要接受http請求完成http相應。

有上圖可知表現層分為兩種兩個:

檢視層:接收請求

控制層:結果的展示

一般來講web層依賴service層,web層接收到客戶端請求⼀般會調⽤業務層進⾏業務處理,業務層處理完後返回給web層然後將處理結果響應給客戶端。

業務層

業務層基本上就是常說的service層。service層主要負責業務邏輯的處理,基本上service層包含著所有業務邏輯與現實中開發專案的需求與關。 web層依賴service層,但是service層不依賴於web層,service層在處理業務邏輯的時候一般都會依賴於持久層(Dao層),如果需要對資料集行持久化操作需要保證事務的一致性,那麼就必須將事務有關的操作放到servcie層來進行控制。

持久層

持久層基本上就是我們是常說的dao層。dao層主要負責資料持久化,包括資料層即資料庫和資料訪問層,資料庫是對資料進⾏持久化的載體,資料訪問層是業務層和持久層互動的接⼝,業務層需要透過資料訪問層將資料持久化到資料庫中。通俗的講,持久層就是和資料庫互動,對資料庫表進⾏增刪改查的。

MVC模式

MVC模式不是Java的23種設計模式,很多剛接觸Java的小夥伴可能會弄Java設計模式和MVC模式的概念。MVC模式是一種程式碼的組織方式,主要是將相同種類的程式碼放到一起。

MVC全名是Model View Controller,是模型(model)-檢視(view)-控制器(controller)的縮寫,是⼀種⽤於設計建立Web應⽤程式表現層的模式。接下來我們將一下MVC模式的基本概念:

Model(模型)

模型包含業務模型和資料模型,資料模型⽤於封裝資料,業務模型⽤於處理業務。

View(檢視)

通常指的就是我們的jsp或者html。作⽤⼀般就是展示資料的。通常檢視是依據模型資料建立的。

Controller(控制器)

是應⽤程式中處理⽤戶互動的部分。作⽤⼀般就是處理程式邏輯的。MVC提倡:每⼀層只編寫⾃⼰的東⻄,不編寫任何其他的程式碼;分層是為了解耦,解耦是為了維護⽅便和分⼯協作。

總結

經典三層是給予系統層級進行程式碼的劃分,而MVC模式是基於程式碼層級進行劃分

MVC模式是經典三層中表現層的一種實現

頂部