小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

MVC設(shè)計模式簡介

 碼農(nóng)9527 2021-10-26

MVC 設(shè)計模式一般指 MVC 框架,M(Model)指數(shù)據(jù)模型層,V(View)指視圖層,C(Controller)指控制層。使用 MVC 的目的是將 M 和 V 的實現(xiàn)代碼分離,使同一個程序可以有不同的表現(xiàn)形式。其中,View 的定義比較清晰,就是用戶界面。

  在 Web 項目的開發(fā)中,能夠及時、正確地響應(yīng)用戶的請求是非常重要的。用戶在網(wǎng)頁上單擊一個 URL 路徑,這對 Web 服務(wù)器來說,相當(dāng)于用戶發(fā)送了一個請求。而獲取請求后如何解析用戶的輸入,并執(zhí)行相關(guān)處理邏輯,最終跳轉(zhuǎn)至正確的頁面顯示反饋結(jié)果,這些工作往往是控制層(Controller)來完成的。

  在請求的過程中,用戶的信息被封裝在 User 實體類中,該實體類在 Web 項目中屬于數(shù)據(jù)模型層(Model)。

  在請求顯示階段,跳轉(zhuǎn)的結(jié)果網(wǎng)頁就屬于視圖層(View)。

  像這樣,控制層負責(zé)前臺與后臺的交互,數(shù)據(jù)模型層封裝用戶的輸入/輸出數(shù)據(jù),視圖層選擇恰當(dāng)?shù)囊晥D來顯示最終的執(zhí)行結(jié)果,這樣的層次分明的軟件開發(fā)和處理流程被稱為 MVC 模式。

  在學(xué)習(xí) Servlet 及 JSP 開發(fā)時,JavaBean 相當(dāng)于 Model,Servlet 相當(dāng)于 Controller,JSP 相當(dāng)于 View。

  總結(jié)如下:

  視圖層(View):負責(zé)格式化數(shù)據(jù)并把它們呈現(xiàn)給用戶,包括數(shù)據(jù)展示、用戶交互、數(shù)據(jù)驗證、界面設(shè)計等功能。

  控制層(Controller):負責(zé)接收并轉(zhuǎn)發(fā)請求,對請求進行處理后,指定視圖并將響應(yīng)結(jié)果發(fā)送給客戶端。

  數(shù)據(jù)模型層(Model):模型對象擁有最多的處理任務(wù),是應(yīng)用程序的主體部分,它負責(zé)數(shù)據(jù)邏輯(業(yè)務(wù)規(guī)則)的處理和實現(xiàn)數(shù)據(jù)操作(即在數(shù)據(jù)庫中存取數(shù)據(jù))。

  SUN 公司推出 JSP 技術(shù)的同時,也推出了兩種 Web 應(yīng)用程序的開發(fā)模式。即 JSP+JavaBean 和 Servlet+JSP+JavaBean。

  JSP+JavaBean

  JSP+JavaBean 中 JSP 用于處理用戶請求,JavaBean 用于封裝和處理數(shù)據(jù)。該模式只有視圖和模型,一般把控制器的功能交給視圖來實現(xiàn),適合業(yè)務(wù)流程比較簡單的 Web 程序。  通過上圖可以發(fā)現(xiàn) JSP 從 HTTP Request(請求)中獲得所需的數(shù)據(jù),并進行業(yè)務(wù)邏輯的處理,然后將結(jié)果通過 HTTP Response(響應(yīng))返回給瀏覽器。從中可見,JSP+JavaBean 模式在一定程度上實現(xiàn)了 MVC,即 JSP 將控制層和視圖合二為一,JavaBean 為模型層。

  JSP+JavaBean 模式中 JSP 身兼數(shù)職,既要負責(zé)視圖層的數(shù)據(jù)顯示,又要負責(zé)業(yè)務(wù)流程的控制,結(jié)構(gòu)較為混亂,并且也不是我們所希望的松耦合架構(gòu)模式,所以當(dāng)業(yè)務(wù)流程復(fù)雜的時候并不推薦使用。

  Servlet+JSP+JavaBean

  Servlet+JSP+JavaBean 中 Servlet 用于處理用戶請求,JSP 用于數(shù)據(jù)顯示,JavaBean 用于數(shù)據(jù)封裝,適合復(fù)雜的 Web 程序。  

  相比 JSP+JavaBean 模式來說,Servlet+JSP+JavaBean 模式將控制層單獨劃分出來負責(zé)業(yè)務(wù)流程的控制,接收請求,創(chuàng)建所需的 JavaBean 實例,并將處理后的數(shù)據(jù)返回視圖層(JSP)進行界面數(shù)據(jù)展示。

  Servlet+JSP+JavaBean 模式的結(jié)構(gòu)清晰,是一個松耦合架構(gòu)模式,一般情況下,建議使用該模式。

  MVC優(yōu)缺點

  任何一件事都有利有弊,下面來了解一下 MVC 的優(yōu)缺點。

  優(yōu)點

  多視圖共享一個模型,大大提高了代碼的可重用性

  MVC 三個模塊相互獨立,松耦合架構(gòu)

  控制器提高了應(yīng)用程序的靈活性和可配置性

  有利于軟件工程化管理

  總之,我們通過 MVC 設(shè)計模式最終可以打造出一個松耦合+高可重用性+高可適用性的完美架構(gòu)。

  缺點

  原理復(fù)雜

  增加了系統(tǒng)結(jié)構(gòu)和實現(xiàn)的復(fù)雜性

  視圖對模型數(shù)據(jù)的低效率訪問

  MVC 并不適合小型甚至中型規(guī)模的項目,花費大量時間將 MVC 應(yīng)用到規(guī)模并不是很大的應(yīng)用程序,通常得不償失,所以對于 MVC 設(shè)計模式的使用要根據(jù)具體的應(yīng)用場景來決定。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多