国产粉嫩无码不卡在线观看,酒店大战丝袜高跟鞋人妻,特级精品毛片免费观看,欧美亚洲日本国产综合在线

梳理MVC與三層架構(gòu)的關(guān)系(mvc和三層架構(gòu)的關(guān)系)

MVC與三層架構(gòu)

系統(tǒng)架構(gòu)

系統(tǒng)架構(gòu)是指,整合應(yīng)用系統(tǒng)程序大的結(jié)構(gòu)。經(jīng)常提到的系統(tǒng)結(jié)構(gòu)有兩種:

  • 三層架構(gòu)
  • MVC

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

三層架構(gòu)

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

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

為了更好的降低各層間的耦合度,在三層架構(gòu)程序設(shè)計(jì)中,采用面向抽象編程。
即上層對(duì)下層的調(diào)用,是通過接口實(shí)現(xiàn)的。
而下層對(duì)上層的真正服務(wù)提供者,是下層接口的實(shí)現(xiàn)類。
服務(wù)標(biāo)準(zhǔn)(接口)是相同的,服務(wù)提供者(實(shí)現(xiàn)類)可以更換。
這就實(shí)現(xiàn)了層間解耦合。

梳理MVC與三層架構(gòu)的關(guān)系(mvc和三層架構(gòu)的關(guān)系)

MVC

梳理MVC與三層架構(gòu)的關(guān)系(mvc和三層架構(gòu)的關(guān)系)

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

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

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

MVC與三層架構(gòu)的關(guān)系:

梳理MVC與三層架構(gòu)的關(guān)系(mvc和三層架構(gòu)的關(guān)系)

SSM,即 SpringMVC、Spring 與 MyBatis 三個(gè)框架。它們?cè)谌龑蛹軜?gòu)中所處的位置是不同的,即它們?cè)谌龑蛹軜?gòu)中的功能各不相同,各司其職。

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

梳理MVC與三層架構(gòu)的關(guān)系(mvc和三層架構(gòu)的關(guān)系)

作者:JS_HCX
鏈接:https://www.jianshu.com/p/731d027b2d91
來源:簡(jiǎn)書

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