區分MVC設計模式與JavaWeb三層架構

區分MVC設計模式與JavaWeb三層架構

MVC的理解

  所謂的mvc設計模式就是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計思想, 強制性的把應用程序的輸入、處理和輸出分開。

MVC中的模型、視圖、控制器它們分別擔負着不同的任務。
  1.視圖(view): 視圖是用戶看到並與之交互的界面。視圖向用戶顯示相關的數據,並接受用戶的輸入。例如大家熟悉的JSP頁面。視圖不進行任何業務邏輯處理,只獲取數據/顯示數據
  2.模型(model): 模型表示業務數據和業務處理。相當於JavaBean。一個模型能爲多個視圖提供數據。主要功能是處理數據,model層對容器的依賴性越少越好
  3.控制器(controller): 當用戶單擊Web頁面中的提交按鈕時,控制器接受請求並調用相應的模型去處理請求。 然後根據處理的結果調用相應的視圖來顯示處理的結果。控制流程

MVC的處理過程:首先控制器接受用戶的請求,調用(委託)相應的模型來進行業務處理,並返回數據給控制器。控制器調用相應的視圖來顯示處理的結果。並通過視圖呈現給用戶。

MVC設計模式圖解

mvc設計模式

JavaWeb中的三層架構結構

  三層架構是三層架構,MVC是MVC,這倆是毫無關係的
  三層是從整個應用程序架構的角度來分的三層
  三層架構通常意義上的三層架構就是將整個業務應用劃分爲:表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。
  三層可以應用於任何語言、任何技術的應用程序;而MVC只是爲了解決BS應用程序視圖層各部分的耦合關係。它們互不衝突,可以同時存在,也可根據情況使用其中一種。
對於,我們JAVA開發者來說:
  三層架構是界面層(Web)業務邏輯層(Service)和數據訪問層(Dao)構成的
  MVC設計模式是模型層(Model)界面層(View)和控制層(Controller)構成的,而且他們之間也不對應。

三層結構與mvc關係圖:

​  運作流程:Servlet接受到前臺的傳遞的數據進行傳遞給業務邏輯層Service層,Service層處理完畢傳遞給數據庫訪問Dao,Dao通過Jdbc或者持久化將數據注入到數據庫中去,繼而反饋給Service層,Service層響應給Servlet,Servlet返回給Jsp頁面。

在這裏插入圖片描述

總結:

​   ① 三層架構是Java體系獨有的專有名詞,MVC在其他語言中也是存在的設計模式。
​   ② 三層架構是採用分層思想,減輕類與類(接口)之間的耦合,通俗的說是爲了減輕代碼之間的依賴性,避免產生牽一髮而動全身的後果。而MVC意在將後端代碼和前臺展示代碼進行了分離。JavaBean既是一個封裝的java對象,View是用來給前臺客戶端顯示反饋的頁面,採用Jsp來完成。而前臺的代碼與後端的邏輯代碼之間的交互工作就交付給了Servlet。

結束語

本人也是學習階段,水平有限,若文中有不妥言論還請指出,不勝感激。
若本文給你帶來不便還請見諒。學習筆記。
參考文獻:https://blog.csdn.net/kese7952/article/details/81024892
若有侵權,聯繫必刪!

發佈了45 篇原創文章 · 獲贊 47 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章