日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

深入理解MVC原理

發布時間:2024/3/24 c/c++ 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入理解MVC原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Web MVC簡介

1.1、Web開發中的請求-響應模型:

?

在Web世界里,具體步驟如下:

1、? Web瀏覽器(如IE)發起請求,如訪問http://sishuok.com

2、? Web服務器(如Tomcat)接收請求,處理請求(比如用戶新增,則將把用戶保存一下),最后產生響應(一般為html)。

3、web服務器處理完成后,返回內容給web客戶端(一般就是我們的瀏覽器),客戶端對接收的內容進行處理(如web瀏覽器將會對接收到的html內容進行渲染以展示給客戶)。

?

因此,在Web世界里:

都是Web客戶端發起請求,Web服務器接收、處理并產生響應。

?

一般Web服務器是不能主動通知Web客戶端更新內容。雖然現在有些技術如服務器推(如Comet)、還有現在的HTML5 websocket可以實現Web服務器主動通知Web客戶端。

?

到此我們了解了在web開發時的請求/響應模型,接下來我們看一下標準的MVC模型是什么。

?

1.2、標準MVC模型概述

MVC模型:是一種架構型的模式,本身不引入新功能,只是幫助我們將開發的結構組織的更加合理,使展示與模型分離、流程控制邏輯、業務邏輯調用與展示邏輯分離。如圖1-2

?

圖1-2

首先讓我們了解下MVC(Model-View-Controller)三元組的概念:

Model(模型):數據模型,提供要展示的數據,因此包含數據和行為,可以認為是領域模型或JavaBean組件(包含數據和行為),不過現在一般都分離開來:Value Object(數據) 和 服務層(行為)。也就是模型提供了模型數據查詢和模型數據的狀態更新等功能,包括數據和業務。

?

View(視圖):負責進行模型的展示,一般就是我們見到的用戶界面,客戶想看到的東西。

?

Controller(控制器):接收用戶請求,委托給模型進行處理(狀態改變),處理完畢后把返回的模型數據返回給視圖,由視圖負責展示。 也就是說控制器做了個調度員的工作,。

?

從圖1-1我們還看到,在標準的MVC中模型能主動推數據給視圖進行更新(觀察者設計模式,在模型上注冊視圖,當模型更新時自動更新視圖),但在Web開發中模型是無法主動推給視圖(無法主動更新用戶界面),因為在Web開發是請求-響應模型。

?

那接下來我們看一下在Web里MVC是什么樣子,我們稱其為 Web MVC 來區別標準的MVC。

1.3、Web MVC概述

模型-視圖-控制器概念和標準MVC概念一樣,請參考1.2,我們再看一下Web MVC標準架構,如圖1-3:

?

如圖1-3

?

在Web MVC模式下,模型無法主動推數據給視圖,如果用戶想要視圖更新,需要再發送一次請求(即請求-響應模型)。

總結

以上是生活随笔為你收集整理的深入理解MVC原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。