国产97色在线 | 日韩,97se狠狠狠狠狼鲁亚洲综合色,成l人在线观看线路1,1313午夜精品理论片,成人免费看片又大又黄

梳理MVC與三層架構的關系(mvc和三層架構的關系)

MVC與三層架構

系統(tǒng)架構

系統(tǒng)架構是指,整合應用系統(tǒng)程序大的結構。經常提到的系統(tǒng)結構有兩種:

  • 三層架構
  • MVC

這兩種結構既有區(qū)別,又有聯(lián)系。但這兩種結構的使用,均是為了降低系統(tǒng)模
塊間的耦合度。

三層架構

三層架構是指:視圖層 View、服務層 Service,與持久層 Dao。它們分別完成不同的功能。

  • View 層:用于接收用戶提交請求的代碼在這里編寫。
  • Service 層:系統(tǒng)的業(yè)務邏輯主要在這里完成。
  • Dao 層:直接操作數(shù)據(jù)庫的代碼在這里編寫。

為了更好的降低各層間的耦合度,在三層架構程序設計中,采用面向抽象編程。
即上層對下層的調用,是通過接口實現(xiàn)的。
而下層對上層的真正服務提供者,是下層接口的實現(xiàn)類。
服務標準(接口)是相同的,服務提供者(實現(xiàn)類)可以更換。
這就實現(xiàn)了層間解耦合。

梳理MVC與三層架構的關系(mvc和三層架構的關系)

MVC

梳理MVC與三層架構的關系(mvc和三層架構的關系)

MVC,即 Model 模型、View 視圖,及 Controller 控制器。

  • View:視圖,為用戶提供使用界面,與用戶直接進行交互。
  • Model:模型,承載數(shù)據(jù),并對用戶提交請求進行計算的模塊。其分為兩類:
    一類稱為數(shù)據(jù)承載 Bean:實體類,專門用戶承載業(yè)務數(shù)據(jù)的,如 Student、User 等
    一類稱為業(yè)務處理 Bean:指 Service 或 Dao 對象,專門用于處理用戶提交請求的。
  • Controller:控制器,用于將用戶請求轉發(fā)給相應的 Model 進行處理,并根據(jù) Model 的計算結果向用戶提供相應響應。

MVC 架構程序的工作流程:
(1)用戶通過 View 頁面向服務端提出請求,可以是表單請求、超鏈接請求、AJAX 請求等
(2)服務端 Controller 控制器接收到請求后對請求進行解析,找到相應的 Model 對用戶請求進行處理
(3)Model 處理后,將處理結果再交給 Controller
(4)Controller 在接到處理結果后,根據(jù)處理結果找到要作為向客戶端發(fā)回的響應 View 頁面。頁面經渲染(數(shù)據(jù)填充)后,再發(fā)送給客戶端。

MVC與三層架構的關系:

梳理MVC與三層架構的關系(mvc和三層架構的關系)

SSM,即 SpringMVC、Spring 與 MyBatis 三個框架。它們在三層架構中所處的位置是不同的,即它們在三層架構中的功能各不相同,各司其職。

  • SpringMVC:作為 View 層的實現(xiàn)者,完成用戶的請求接收功能。SpringMVC 的 Controller作為整個應用的控制器,完成用戶請求的轉發(fā)及對用戶的響應。
  • MyBatis:作為 Dao 層的實現(xiàn)者,完成對數(shù)據(jù)庫的增、刪、改、查功能。
  • Spring:以整個應用大管家的身份出現(xiàn)。整個應用中所有 Bean 的生命周期行為,均由Spring 來管理。即整個應用中所有對象的創(chuàng)建、初始化、銷毀,及對象間關聯(lián)關系的維護,均由 Spring 進行管理。

梳理MVC與三層架構的關系(mvc和三層架構的關系)

作者:JS_HCX
鏈接:https://www.jianshu.com/p/731d027b2d91
來源:簡書

版權聲明:本文內容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。