MVC設計模式講解_第1頁
MVC設計模式講解_第2頁
MVC設計模式講解_第3頁
MVC設計模式講解_第4頁
MVC設計模式講解_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2022-4-252w設計原則設計原則w設計模式設計模式wMVC模式模式wMVC模式具體實例模式具體實例wMVC模式的優(yōu)缺點模式的優(yōu)缺點面向對象開發(fā)的五大原則面向對象開發(fā)的五大原則SOLID2022-4-2541、單一職責原則(SingleResponsibilityPrinciple):每個方法或類應當有且僅有一個改變的理由。這意味著每個方法或類應當做一件事情,或者只有一項職責。2、開閉原則(OpenClosePrinciple)開閉原則就是說對擴展開放,對修改關閉。3、里氏代換原則(LiskovSubstitutionPrinciple)里氏代換原則中說,任何基類可以出現(xiàn)的地方,子類一定可

2、以出現(xiàn)。2022-4-2554、接口隔離原則(InterfaceSegregationPrinciple)這個原則的意思是:使用多個隔離的接口,比使用單個接口要好。5、依賴倒轉原則(DependenceInversionPrinciple)真對接口編程,依賴于抽象而不依賴于具體。2022-4-257Patterns,顧名思義,具有某種重復性規(guī)律的方案。定義1:DesignPatterns,就是設計過程中可以反復使用的、可以解決特定問題的設計方法。定義2:DesignPatternisasolutiontoaprobleminacontext.也就是說,設計模式是針對特定上下文的特定問題的解決方

3、案,這種解決方案被抽象化、模版化,就是設計模式。2022-4-258設計模式是前人留下的經驗,相當于武俠小說中的武林秘籍,所謂的編程語言,就是內功招式。其實設計模式的核心就是高內聚,低耦合。2022-4-2510MVC模式的目的是實現(xiàn)一種動態(tài)的程式設計,使后續(xù)對程序的修改和擴展簡化,并且使程序某一部分的重復利用成為可能。除此之外,此模式通過對復雜度的簡化,使程序結構更加直觀。MVC模式(Model-View-Controller)是軟件工程中的一種軟件架構模式,把軟件系統(tǒng)分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)2022-4-2511 模型(Mode

4、l)模型持有所有的數(shù)據(jù)、狀態(tài)和程序邏輯,是應用程序的核心。 視圖(View)代表用戶交互界面,用來顯示數(shù)據(jù)。 控制器(Controller)-負責轉發(fā)請求,對請求進行處理2022-4-2512ControllerModelView用戶請求改變狀態(tài)通知改變改變顯示狀態(tài)查詢事件方法調用2022-4-2513基于基于SSH架構的網上商城系統(tǒng)架構的網上商城系統(tǒng)2022-4-2515基于JavaEE的多層體系結構數(shù)據(jù)庫服務器數(shù)據(jù)訪問層持久化層顯示層業(yè)務邏輯層瀏覽器Web服務器2022-4-2516MVC基于JavaEE的應用模型圖瀏覽器ControllerServlet/ActionVIEW*.jsp/

5、*.htmlModel數(shù)據(jù)庫服務器業(yè)務邏輯數(shù)據(jù)訪問Web服務器顯示層數(shù)據(jù)層業(yè)務層2022-4-25172022-4-2518/ 用戶和密碼正確,添加會話/ 此處調用Model的對象if (userService.loginUser(un, ps) session.removeAttribute(userName);session.setAttribute(userName, un);session.setAttribute(nonMessageCount, list.size();/ struts通過預先設置好的struts.xml,跳轉到顯示層return SUCCESS; else res

6、ult = 用戶名或密碼錯誤!;ctx.getSession().put(loginCount, loginCount);ctx.put(message, result);return ERROR;2022-4-2519/ 判斷用戶登錄狀態(tài)public boolean loginUser(String username, String password) User user = userDao.findByUsername(username);if (user != null & user.getPassword().equals(MD5Main(password) return tr

7、ue; else return false;2022-4-25201)分工明確:使用MVC可以把數(shù)據(jù)庫開發(fā),程序業(yè)務邏輯開發(fā),頁面開發(fā)分開,每一層都具有相同的特征,方便以后的代碼維護。方便多開發(fā)人員間的分工。2)松耦合:視圖層和業(yè)務層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應用的業(yè)務流程或者業(yè)務規(guī)則的改變只需要改動MVC的模型層即可。2022-4-25213)重用性高:視圖控制模型分離,提高代碼重用性。4)可移植性:因為模型是獨立于視圖的,所以可以把一個模型獨立地移植到新的平臺工作。需要做的只是在新平臺上對視圖和控制器進行新的修改。2022-4-25221)清晰的構架以代碼的復雜性為代價,對小項目優(yōu)可能反而降低開發(fā)效率。2)運行效率相對較低。3)控制層和表現(xiàn)層有時會過于緊密,導致沒有真正分離和重用2022-4-2523

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論