1. 程式人生 > 其它 >spring MVC——什麼是MVC設計模式

spring MVC——什麼是MVC設計模式

MVC 設計模式一般指 MVC 框架:

 

M(Model)指資料模型層

 

V(View)指檢視層

 

C(Controller)指控制層

 

 

使用 MVC 的目的是將 M 和 V 的實現程式碼分離,使同一個程式可以有不同的表現形式。其中,View 的定義比較清晰,就是使用者介面。

 

在 Web 專案的開發中,能夠及時、正確地響應使用者的請求是非常重要的。

 

 

使用者在網頁上單擊一個 URL 路徑,這對 Web 伺服器來說,相當於使用者傳送了一個請求。

 

 

而獲取請求後如何解析使用者的輸入,並執行相關處理邏輯,最終跳轉至正確的頁面顯示反饋結果,這些工作往往是控制層(Controller)來完成的。

 

 

在請求的過程中,使用者的資訊被封裝在 User 實體類中,該實體類在 Web 專案中屬於資料模型層(Model)。

 

 

在請求顯示階段,跳轉的結果網頁就屬於檢視層(View)。

 

 

 

 

 

 

這樣,控制層負責前臺與後臺的互動資料模型層封裝使用者的輸入/輸出資料檢視層選擇恰當的檢視來顯示最終的執行結果

 

這樣的層次分明的軟體開發和處理流程被稱為 MVC 模式。

 

在學習 Servlet 及 JSP 開發時,JavaBean 相當於 Model,Servlet 相當於 Controller,JSP 相當於 View。

 

 

 

 

 

 

 

============================================================================================

 

 

 

 

 

 

 

 

 

總結如下:

 

  • 檢視層(View):負責格式化資料並把它們呈現給使用者,包括資料展示、使用者互動、資料驗證、介面設計等功能。
  • 控制層(Controller):負責接收並轉發請求,對請求進行處理後,指定檢視並將響應結果傳送給客戶端。
  • 資料模型層(Model):模型物件擁有最多的處理任務,是應用程式的主體部分,它負責資料邏輯(業務規則)的處理和實現資料操作(即在資料庫中存取資料)。

 

 

 

 

 

 

==========================================================================

 

 

 

 

 

 

 

 

SUN 公司推出 JSP 技術的同時,也推出了兩種 Web 應用程式的開發模式。即 JSP+JavaBean 和 Servlet+JSP+JavaBean。

 

 

JSP+JavaBean

 

 

JSP+JavaBean 中 JSP 用於處理使用者請求,JavaBean 用於封裝和處理資料。該模式只有檢視和模型,一般把控制器的功能交給檢視來實現,適合業務流程比較簡單的 Web 程式。

 

 


 

 


通過上圖可以發現 JSP 從 HTTP Request(請求)中獲得所需的資料,並進行業務邏輯的處理,然後將結果通過 HTTP Response(響應)返回給瀏覽器。

 

 

從中可見,JSP+JavaBean 模式在一定程度上實現了 MVC,即 JSP 將控制層和檢視合二為一,JavaBean 為模型層。

 

JSP+JavaBean 模式中 JSP 身兼數職,既要負責檢視層的資料顯示,又要負責業務流程的控制,結構較為混亂,並且也不是我們所希望的鬆耦合架構模式,所以當業務流程複雜的時候並不推薦使用。

 

 

 

Servlet+JSP+JavaBean

 

 

Servlet+JSP+JavaBean 中 Servlet 用於處理使用者請求,JSP 用於資料顯示,JavaBean 用於資料封裝,適合複雜的 Web 程式。

 

 

 

 

 


相比 JSP+JavaBean 模式來說,Servlet+JSP+JavaBean 模式將控制層單獨劃分出來負責業務流程的控制,接收請求,建立所需的 JavaBean 例項,並將處理後的資料返回檢視層(JSP)進行介面資料展示。

 

Servlet+JSP+JavaBean 模式的結構清晰,是一個鬆耦合架構模式,一般情況下,建議使用該模式。

 

 

 

MVC優缺點

 

 

任何一件事都有利有弊,下面來了解一下 MVC 的優缺點。

 

 

優點

  • 多檢視共享一個模型,大大提高了程式碼的可重用性
  • MVC 三個模組相互獨立,鬆耦合架構
  • 控制器提高了應用程式的靈活性和可配置性
  • 有利於軟體工程化管理

 


總之,我們通過 MVC 設計模式最終可以打造出一個鬆耦合+高可重用性+高可適用性的完美架構。

 

 

缺點

  • 原理複雜
  • 增加了系統結構和實現的複雜性
  • 檢視對模型資料的低效率訪問

 


MVC 並不適合小型甚至中型規模的專案,花費大量時間將 MVC 應用到規模並不是很大的應用程式,通常得不償失,所以對於 MVC 設計模式的使用要根據具體的應用場景來決定。