MVC和三層架構 概念


MVC

是一種分層開發的模式(宏觀概念),其中:

  • M:Model,業務模型,處理業務

  • V:View,視圖,界面展示

  • C:Controller,控制器,處理請求,調用模型和視圖

 控制器(serlvlet)用來接收瀏覽器發送過來的請求,控制器調用模型(JavaBean)來獲取數據,比如從數據庫查詢數據;控制器獲取到數據后再交由視圖(JSP)進行數據展示。

MVC 好處:

  • 職責單一,互不影響。每個角色做它自己的事,各司其職。

  • 有利於分工協作。

  • 有利於組件重用

三層架構

三層架構是軟件設計的架構,能夠實施

三層架構是將我們的項目分成了三個層面,分別是 表現層業務邏輯層數據訪問層

 

 

  com.yang.web/controller                                  com.yang. service                                   com.yang.dao/mapper

  • 數據訪問層:對數據庫的CRUD基本操作

  • 業務邏輯層:對業務邏輯進行封裝,組合數據訪問層層中基本功能,形成復雜的業務邏輯功能。例如 注冊業務功能 ,我們會先調用 數據訪問層selectByName() 方法判斷該用戶名是否存在,如果不存在再調用 數據訪問層insert() 方法進行數據的添加操作

  • 表現層:接收請求,封裝數據,調用業務邏輯層,響應數據

而整個流程是,瀏覽器發送請求,表現層的Servlet接收請求並調用業務邏輯層的方法進行業務邏輯處理,而業務邏輯層方法調用數據訪問層方法進行數據的操作,依次返回到serlvet,然后servlet將數據交由 JSP 進行展示。

三層架構的每一層都有特有的包名稱:

  • 表現層: com.yang.controller 或者 com.yang.web

  • 業務邏輯層:com.yang.service

  • 數據訪問層:com.yang.dao 或者 com.yang.mapper

還有其它的一些框架,不同的框架是對不同層進行封裝的

 

MVC 和 三層架構區別和聯系

 

 

如上圖上半部分是 MVC 模式,上圖下半部分是三層架構。 MVC 模式 中的 C(控制器)和 V(視圖)就是 三層架構 中的表現層,而 MVC 模式 中的 M(模型)就是 三層架構 中的 業務邏輯層 和 數據訪問層。

可以將 MVC 模式 理解成是一個大的概念,而 三層架構 是對 MVC 模式 實現架構的思想。 那么我們以后按照要求將不同層的代碼寫在不同的包下,每一層里功能職責做到單一,將來如果將表現層的技術換掉,而業務邏輯層和數據訪問層的代碼不需要發生變化。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM