日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

MVC设计模式及其工作原理

發(fā)布時(shí)間:2024/3/24 c/c++ 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MVC设计模式及其工作原理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

?MVC模式介紹:

MVC即模型Model、視圖View、控制器Controller,用一種將業(yè)務(wù)邏輯、數(shù)據(jù)、視圖分離的方式組織架構(gòu)代碼,通過(guò)分離關(guān)注點(diǎn)的方式來(lái)支持改進(jìn)應(yīng)用組織方式,其促成了業(yè)務(wù)數(shù)據(jù)Model從用戶界面View中分離出來(lái),還有第三個(gè)組成部分Controller負(fù)責(zé)管理傳統(tǒng)意義上的業(yè)務(wù)邏輯和用戶輸入,通常將MVC模式看作架構(gòu)型設(shè)計(jì)模式。

M: model(模型層), Dao, Service, pojo,util這些都是模型

V: view(視圖層): jsp,html....

C: Controller(控制層): Servlet, Controller...

體現(xiàn)的分層概念: V -->C -->M Servlet --> Service-->Dao

  • 只能是上層調(diào)用下層 Dao -->Service 錯(cuò)誤

  • 不能跨層調(diào)用 Servlet -->Dao 錯(cuò)誤

  • 每一層使用的技術(shù)的核心類,不能出現(xiàn)在其他層

  • Service層方法: login(HttpServletRequest request, ....) 錯(cuò)誤

    java在這個(gè)MVC模式上. 提出java經(jīng)典三層模型:

    Web層:

    Service層:

    Dao層:

    大型項(xiàng)目分層:

  • 先按功能模塊分層:

    用戶模塊, 訂單模塊, 商品模塊,物流模塊...

  • 每個(gè)模塊包含java經(jīng)典三層模型

  • 用戶模塊: 訂單模塊:

    ? |-- web |-- web

    ? |--service |--service

    ? |--dao |--dao

    ? |--pojo |--pojo

    ? |--util |--util

    MVC所起的作用:

    在前端組件式架構(gòu)開發(fā),常常將視圖、數(shù)據(jù)、業(yè)務(wù)邏輯等寫在一個(gè)模塊內(nèi),如果組件的內(nèi)容比較多,容易造成層次的混亂,增加開發(fā)與維護(hù)的成本,而使用MVC模式可以將數(shù)據(jù)層、視圖層、控制器層進(jìn)行分層組織,用以減少耦合。

    mvc工作原理:

    Model(模型):一個(gè)或多個(gè)JavaBean對(duì)象,用于存儲(chǔ)數(shù)據(jù)。JavaBean主要提供簡(jiǎn)單的setXXX方法和getXXX方法,在這些方法當(dāng)中不涉及對(duì)數(shù)據(jù)的具體處理細(xì)節(jié),以便增強(qiáng)模式的通用性

    View(視圖):一個(gè)或多個(gè)JSP頁(yè)面。其作用是向控制器提交必要的數(shù)據(jù)和顯示數(shù)據(jù)。JSP頁(yè)面可以使用HTML標(biāo)記Javabean標(biāo)記以及Java程序片或者Java表達(dá)式來(lái)顯示數(shù)據(jù)。視圖的主要工作就是顯示數(shù)據(jù),對(duì)數(shù)據(jù)的邏輯操作由控制器負(fù)責(zé)。

    Controller(控制器):一個(gè)或者多個(gè)Servlet。控制器負(fù)責(zé)視圖和模型之間的交互,控制對(duì)用戶輸入的響應(yīng)、響應(yīng)方式和流程;它主要負(fù)責(zé)兩方面的動(dòng)作,一是把用戶的請(qǐng)求分發(fā)到相應(yīng)的模型,二是把模型的改變及時(shí)地反映到視圖上。

    根據(jù)視圖提交的要求進(jìn)行數(shù)據(jù)處理操作,并將有關(guān)的結(jié)果存儲(chǔ)到JavaBean中,然后servlet使用轉(zhuǎn)發(fā)或者重定向的方式請(qǐng)求視圖中的某個(gè)JSP頁(yè)面顯示數(shù)據(jù)。

    總結(jié)

    以上是生活随笔為你收集整理的MVC设计模式及其工作原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。