MVC设计模式及其工作原理
?
?MVC模式介紹:
MVC即模型Model、視圖View、控制器Controller,用一種將業(yè)務邏輯、數據、視圖分離的方式組織架構代碼,通過分離關注點的方式來支持改進應用組織方式,其促成了業(yè)務數據Model從用戶界面View中分離出來,還有第三個組成部分Controller負責管理傳統(tǒng)意義上的業(yè)務邏輯和用戶輸入,通常將MVC模式看作架構型設計模式。
M: model(模型層), Dao, Service, pojo,util這些都是模型
V: view(視圖層): jsp,html....
C: Controller(控制層): Servlet, Controller...
體現的分層概念: V -->C -->M Servlet --> Service-->Dao
只能是上層調用下層 Dao -->Service 錯誤
不能跨層調用 Servlet -->Dao 錯誤
每一層使用的技術的核心類,不能出現在其他層
Service層方法: login(HttpServletRequest request, ....) 錯誤
java在這個MVC模式上. 提出java經典三層模型:
Web層:
Service層:
Dao層:
大型項目分層:
先按功能模塊分層:
用戶模塊, 訂單模塊, 商品模塊,物流模塊...
每個模塊包含java經典三層模型
用戶模塊: 訂單模塊:
? |-- web |-- web
? |--service |--service
? |--dao |--dao
? |--pojo |--pojo
? |--util |--util
MVC所起的作用:
在前端組件式架構開發(fā),常常將視圖、數據、業(yè)務邏輯等寫在一個模塊內,如果組件的內容比較多,容易造成層次的混亂,增加開發(fā)與維護的成本,而使用MVC模式可以將數據層、視圖層、控制器層進行分層組織,用以減少耦合。
mvc工作原理:
Model(模型):一個或多個JavaBean對象,用于存儲數據。JavaBean主要提供簡單的setXXX方法和getXXX方法,在這些方法當中不涉及對數據的具體處理細節(jié),以便增強模式的通用性
View(視圖):一個或多個JSP頁面。其作用是向控制器提交必要的數據和顯示數據。JSP頁面可以使用HTML標記Javabean標記以及Java程序片或者Java表達式來顯示數據。視圖的主要工作就是顯示數據,對數據的邏輯操作由控制器負責。
Controller(控制器):一個或者多個Servlet。控制器負責視圖和模型之間的交互,控制對用戶輸入的響應、響應方式和流程;它主要負責兩方面的動作,一是把用戶的請求分發(fā)到相應的模型,二是把模型的改變及時地反映到視圖上。
根據視圖提交的要求進行數據處理操作,并將有關的結果存儲到JavaBean中,然后servlet使用轉發(fā)或者重定向的方式請求視圖中的某個JSP頁面顯示數據。
總結
以上是生活随笔為你收集整理的MVC设计模式及其工作原理的全部內容,希望文章能夠幫你解決所遇到的問題。