MVC架構原理

2021-08-26 15:27:16 字數 1985 閱讀 8206

mvc是一種架構設計模式,是一種設計理念。是為了達到分層設計的目的,從而使**解耦,便於維護和**的復用。mvc是3個單詞的縮寫,全稱:model-view-controller(模型-檢視-控制器)。

舉乙個例子,mvc就好比我們的鞋櫃。當沒有鞋櫃的時候,鞋子是這樣擺放的:

有了鞋櫃之後,我們的鞋子是這樣擺放的:

一眼就能看出,有了鞋櫃之後,鞋子的擺放明顯的整齊和有序很多,這樣也很方便我們找到自己想穿的鞋子,不用將大量的時間花在尋找鞋子上。如果把我們的成千上萬行**和各種複雜的業務邏輯看作是各式各樣的鞋子,那我們的mvc就是鞋櫃。mvc讓你的**結構更加清晰明了。

沒有使用mvc的時候,我們的**結構如下:

上圖那一坨「剪不斷、理還亂」的亂麻就是你沒有使用分層設計的**結構。如果這時讓你找你**中的某一段邏輯估計是很費勁的,更別說將**中的某一段**進行復用或者替換了。

使用mvc分層設計之後,我們的**結構如下:

上面的圖示可能有點誇張,但是這樣可能更好的理解。mvc其實就是提供一種規則,讓你把相同型別的**放在一起,這樣就形成了層次,從而達到分層解耦、復用、便於測試和維護的目的。

以上說了一堆,其實就是想讓大家理解mvc是什麼,有什麼作用。接下來,我們結合我們實際開發中的**型別來解釋一下mvc。

1、model

模型層,可以簡單理解就是資料層,用於提供資料。在專案中,(簡單理解)一般把資料訪問和操作,比如將物件關係對映這樣的**作為model層,也就是對資料庫的操作這一些列的**作為model層。比如**中我們會寫dao和dto型別的**,那這個dao和dto我們可以理解為是屬於model層的**。

2、view

檢視層,就是ui介面,用於跟使用者進行互動。一般所有的jsp、html等頁面就是view層。

3、controller

控制層,controller層的功能就是將model和view層進行關聯。比如view主要是顯示資料的,但是資料又需要model去訪問,這樣的話,view會先告訴controller,然後controller再告訴model,model請求完資料之後,再告訴view。這樣view就可以顯示資料了。如下圖:

關於spring mvc和struts,與mvc的關係:

大家還記得在上面我舉過的乙個例子,mvc好比鞋櫃。那spring和struts2只是不同牌子的鞋櫃而已。並且spring mvc和struts2只是乙個協助程式設計師更好實現mvc分層架構的框架而已。就是說,我們實現mvc不一定非要使用spring或者struts2,自己按照mvc的理解,自己完成自己**的分層也行。就好比自己在家用木棍自己製作乙個鞋櫃也照樣可以把鞋子擺放整齊,當然,這樣做的話首先要你有這樣的乙個木工技術。我們沒有必要為了乙個鞋櫃,還要自己去學習木工技術,所以最好最快的方式就是去超市買乙個鞋櫃。

我們直接使用spring mvc或者struts2來實現mvc,就是我們直接使用別人做好的東西,直接用。快捷、省時、省事、而且***。

最後:其實現在除了mvc架構之外,還有mvp、mvvm等。

在實際專案中mvc更好的實現應該還多乙個service層,用來處理業務邏輯。如下:

其中多出來的service層,主要是用來處理複雜的業務邏輯,這樣結構層次更加鮮明和簡介。

MVC架構簡介

本篇部落格打算簡單介紹一下mvc是什麼,為接下來寫一篇spring mvc和struts2的文章做一下鋪墊。mvc是一種架構設計模式,是一種設計理念。是為了達到分層設計的目的,從而使 解耦,便於維護和 的復用。mvc是3個單詞的縮寫,全稱 model view controller 模型 檢視 控制...

MVC分層架構

mvc即模型 檢視 控制器,將應用程式的邏輯層與展現層進行分離的一種設計模式。傳統的mvc包括三個方面 模型 檢視 控制器。模型,關注資料處理 檢視,關注資料顯示和報表處理 控制器,負責協調模型和檢視 m model層主要負責要處理的業務 和資料操作 v view向使用者展示資料,通常指使用者看到的...

MVC架構理解

m 模型model,理解成 資料 即可,可以是sql出來的資料。v 檢視view,一般就html 和json 兩種 c 控制器controller 活動actions 很多個action action 就是一次http 網路請求 就是乙個url 網域名稱 user adduser 網域名稱 user...