![MVC設(shè)計(jì)模式講解_第1頁](http://file4.renrendoc.com/view12/M09/2D/0B/wKhkGWXUF2WAJg8rAAHTBNkP1dY928.jpg)
![MVC設(shè)計(jì)模式講解_第2頁](http://file4.renrendoc.com/view12/M09/2D/0B/wKhkGWXUF2WAJg8rAAHTBNkP1dY9282.jpg)
![MVC設(shè)計(jì)模式講解_第3頁](http://file4.renrendoc.com/view12/M09/2D/0B/wKhkGWXUF2WAJg8rAAHTBNkP1dY9283.jpg)
![MVC設(shè)計(jì)模式講解_第4頁](http://file4.renrendoc.com/view12/M09/2D/0B/wKhkGWXUF2WAJg8rAAHTBNkP1dY9284.jpg)
![MVC設(shè)計(jì)模式講解_第5頁](http://file4.renrendoc.com/view12/M09/2D/0B/wKhkGWXUF2WAJg8rAAHTBNkP1dY9285.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
MVC設(shè)計(jì)模式2024/2/202內(nèi)容提要設(shè)計(jì)原則設(shè)計(jì)模式MVC模式MVC模式具體實(shí)例MVC模式的優(yōu)缺點(diǎn)設(shè)計(jì)原則面向?qū)ο箝_發(fā)的五大原則SOLID2024/2/204五大設(shè)計(jì)原則1、單一職責(zé)原則
(SingleResponsibilityPrinciple):每個(gè)方法或類應(yīng)當(dāng)有且僅有一個(gè)改變的理由。這意味著每個(gè)方法或類應(yīng)當(dāng)做一件事情,或者只有一項(xiàng)職責(zé)。2、開閉原則(OpenClosePrinciple)開閉原則就是說對擴(kuò)展開放,對修改關(guān)閉。3、里氏代換原則(LiskovSubstitutionPrinciple)里氏代換原則中說,任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)。2024/2/205五大設(shè)計(jì)原則4、接口隔離原則(InterfaceSegregationPrinciple)這個(gè)原則的意思是:使用多個(gè)隔離的接口,比使用單個(gè)接口要好。5、依賴倒轉(zhuǎn)原則(DependenceInversionPrinciple)真對接口編程,依賴于抽象而不依賴于具體。設(shè)計(jì)模式2024/2/207什么是設(shè)計(jì)模式Patterns,顧名思義,具有某種重復(fù)性規(guī)律的方案。定義1:DesignPatterns,就是設(shè)計(jì)過程中可以反復(fù)使用的、可以解決特定問題的設(shè)計(jì)方法。
定義2:DesignPatternisasolutiontoaprobleminacontext.
也就是說,設(shè)計(jì)模式是針對特定上下文的特定問題的解決方案,這種解決方案被抽象化、模版化,就是設(shè)計(jì)模式。2024/2/208什么是設(shè)計(jì)模式設(shè)計(jì)模式是前人留下的經(jīng)驗(yàn),相當(dāng)于武俠小說中的武林秘籍,所謂的編程語言,就是內(nèi)功招式。其實(shí)設(shè)計(jì)模式的核心就是高內(nèi)聚,低耦合。MVC2024/2/2010MVC設(shè)計(jì)模式MVC模式的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程式設(shè)計(jì),使后續(xù)對程序的修改和擴(kuò)展簡化,并且使程序某一部分的重復(fù)利用成為可能。除此之外,此模式通過對復(fù)雜度的簡化,使程序結(jié)構(gòu)更加直觀。MVC模式(Model-View-Controller)是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)分為三個(gè)基本部分:模型(Model)、視圖(View)和控制器(Controller)2024/2/2011MVC=Model+View+Controller模型(
Model)
–模型持有所有的數(shù)據(jù)、狀態(tài)和程序邏輯,是應(yīng)用程序的核心。視圖(View)
–代表用戶交互界面,用來顯示數(shù)據(jù)??刂破?
Controller)-負(fù)責(zé)轉(zhuǎn)發(fā)請求,對請求進(jìn)行處理2024/2/2012MVC模式ControllerModelView用戶請求改變狀態(tài)通知改變改變顯示狀態(tài)查詢①②④③⑤事件方法調(diào)用2024/2/2013Model2-基于MVC模式的架構(gòu)MVC實(shí)例基于SSH架構(gòu)的網(wǎng)上商城系統(tǒng)2024/2/2015MVC實(shí)例——網(wǎng)上商城系統(tǒng)基于JavaEE的多層體系結(jié)構(gòu)數(shù)據(jù)庫服務(wù)器數(shù)據(jù)訪問層持久化層顯示層業(yè)務(wù)邏輯層瀏覽器Web服務(wù)器2024/2/2016MVC實(shí)例——網(wǎng)上商城系統(tǒng)MVC基于JavaEE的應(yīng)用模型圖瀏覽器ControllerServlet/ActionVIEW*.jsp/*.htmlModel數(shù)據(jù)庫服務(wù)器業(yè)務(wù)邏輯數(shù)據(jù)訪問Web服務(wù)器顯示層數(shù)據(jù)層業(yè)務(wù)層2024/2/2017視圖2024/2/2018控制器//用戶和密碼正確,添加會(huì)話//此處調(diào)用Model的對象if(userService.loginUser(un,ps)){session.removeAttribute("userName");session.setAttribute("userName",un);session.setAttribute("nonMessageCount",list.size());//struts通過預(yù)先設(shè)置好的struts.xml,跳轉(zhuǎn)到顯示層return
SUCCESS;}else{result
="用戶名或密碼錯(cuò)誤!";ctx.getSession().put("loginCount",loginCount);ctx.put("message",result);return
ERROR;}2024/2/2019模型//判斷用戶登錄狀態(tài)public
booleanloginUser(Stringusername,Stringpassword){Useruser=userDao.findByUsername(username);if(user!=null&&user.getPassword().equals(MD5Main(password))){return
true;}else{return
false;}}2024/2/2020MVC的優(yōu)點(diǎn)1)分工明確:使用MVC可以把數(shù)據(jù)庫開發(fā),程序業(yè)務(wù)邏輯開發(fā),頁面開發(fā)分開,每一層都具有相同的特征,方便以后的代碼維護(hù)。方便多開發(fā)人員間的分工。2)
松耦合:視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個(gè)應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動(dòng)MVC的模型層即可。2024/2/2021MVC的優(yōu)點(diǎn)3)重用性高:視圖控制模型分離,提高代碼重用性。
4)可移植性:因?yàn)槟P褪仟?dú)立于視圖的,所以可以把一個(gè)模型獨(dú)立地移植到新的平臺(tái)工作。需要做的只是在新平臺(tái)上對視圖和控制器進(jìn)行新的修改。2024/2/2022MVC的缺點(diǎn)1)清晰的構(gòu)架以代碼的復(fù)雜性為代價(jià),對小項(xiàng)目優(yōu)可能反而降低開發(fā)效率。2)運(yùn)行效率相對較低。3)控制層和表現(xiàn)層有時(shí)會(huì)過于緊密,導(dǎo)致沒有真正分離和重用
2024/2/2023總結(jié)MVC本質(zhì)上是解耦,讓UI和邏輯,數(shù)據(jù)分離
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級夜色聽評課記錄
- 湘教版地理八年級下冊5.3《西北地區(qū)和青藏地區(qū)》(第2課時(shí))聽課評課記錄
- 魯教版數(shù)學(xué)八年級下冊8.3《用公式法解一元二次方程》聽評課記錄
- 五年級數(shù)學(xué)口算競賽題
- 蘇教版小學(xué)數(shù)學(xué)三年級下冊口算題
- 蘇教版二年級下冊數(shù)學(xué)口算練習(xí)題費(fèi)
- 小學(xué)數(shù)學(xué)-六年級下冊-4-3 正比例圖像 聽評課記錄
- 船員勞動(dòng)合同范本
- 商業(yè)房屋租借合同范本
- 2025年度高級技術(shù)人才聘用與管理制度合同
- DB33-T 2082-2017(2021)托幼機(jī)構(gòu)消毒衛(wèi)生規(guī)范
- 提高攜帶雙J管患者的健康教育落實(shí)率泌尿科品管圈課件
- 《隋朝的統(tǒng)一與滅亡》 -完整版課件
- API-650-1鋼制焊接石油儲(chǔ)罐
- 職業(yè)危害告知書(最新版)
- 金融科技課件(完整版)
- 醫(yī)院壓力性損傷患者質(zhì)控標(biāo)準(zhǔn)
- 醫(yī)療機(jī)構(gòu)規(guī)章制度診所診所規(guī)章制度
- 飲品店操作流程圖
- 風(fēng)居住的街道鋼琴二胡合奏譜
- PADS元件封裝制作規(guī)范要點(diǎn)
評論
0/150
提交評論