MVC 開發模式

 

1、理解

在MVC模式中,應用程序被劃分成了模型(Model)、視圖(View)和控制器(Controller)三個部分。其中,模型部分包含了應用程序的業務邏輯和業務數據;視圖部分封裝了應用程序的輸出形式,也就是通常所說的頁面或者是界面;而控制器部分負責協調模型和視圖,根據用戶請求來選擇要調用哪個模型來處理業務,以及最終由哪個視圖爲用戶做出應答。

注意:數據模型用來存放業務數據,比如訂單信息、用戶信息等;而業務邏輯模型包含應用的業務操作,比如訂單的添加或者修改等。

2、MVC 中的模型、視圖、控制器三者之間的交互關係:(MVC的工作原理)

(1)首先是展示視圖給用戶,用戶在這個視圖上進行操作,並填寫一些業務數據

(2)然後用戶會點擊提交按鈕,來發出請求

(3)視圖發出的用戶請求會到達控制器,在請求中包含了想要完成什麼樣的業務功能以及相關的數據。

(4)控制器會來處理用戶請求,會把請求中的數據進行封裝,然後選擇並調用合適的模型,請求模型進行狀態更新,然後選擇接下來要展示給用戶的視圖。

(5)模型會去處理用戶請求的業務功能,同時進行模型狀態的維護和更新

(6)當模型狀態發生改變的時候,模型會通知相應的視圖,告訴視圖它的狀態發生了改變。

(7)視圖接到模型的通知後,會向模型進行狀態查詢,獲取需要展示的數據,然後按照視圖本身的展示方式,把這些數據展示出來。

注意:Servlet+JSP+JavaBean模型的響應順序:

當用戶發出一個請求後,這個請求會被控制器Servlet接收到;Servlet將請求的數據轉換成數據模型JavaBean,然後調用業務邏輯模型JavaBean的方法,並將業務邏輯模型返回的結果放到合適的地方,比如請求的屬性裏;最後,根據業務邏輯模型的返回結果,由控制器來選擇合適的視圖(JSP),由視圖把數據展現給用戶。

3、MVC的組件關係圖(工作流程步驟)

4、使用MVC模式,可以獲得以下好處:

  •  低耦合性:在MVC模式中,模型和視圖是解耦的,模型不會依賴於視圖,而視圖也僅僅是從模型中獲取需要展示的數據,並不會與模型的邏輯處理相關聯。
  •  更低的開發成本:由於MVC模式幫我們清楚的劃分了各部分的職責,就可以讓程序員各司其職,Java程序員只關心業務邏輯的實現,也就是模型部分;而界面程序員只關心頁面展示,也就是視圖部分即可。
  •  更好的可維護性:MVC模式劃分出明晰的模型和視圖部分,並使其解耦,在軟件需求發生變更的時候,就可以各自獨立的改變而不會相互影響,使得程序更容易維護和擴展。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章