標籤:流程 log 維護 model mod 上進 添加 處理 ges
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模式劃分出明晰的模型和視圖部分,並使其解耦,在軟體需求發生變更的時候,就可以各自獨立的改變而不會相互影響,使得程式更容易維護和擴充。
MVC 開發模式