婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET小結之MVC, MVP, MVVM比較以及區別(一)

ASP.NET小結之MVC, MVP, MVVM比較以及區別(一)

熱門標簽:400電話如何申請取消 昆明語音電銷機器人價格 百度地圖怎樣做地圖標注 征途美甲店地圖標注 太原400電話上門辦理 柳州電銷機器人公司 浦發電話機器人提醒還款 騰訊地圖標注手機 電銷語音機器人型號參數

MVC, MVP和MVVM都是用來解決界面呈現和邏輯代碼分離而出現的模式。以前只是對它們有部分的了解,沒有深入的研究過,對于一些里面的概念和區別也是一知半解。現在一邊查資料,并結合自己的理解,來談一下對于這三種模式思想的理解,以及它們的區別。歡迎各位高手拍磚。

閱讀目錄:

復制代碼 代碼如下:

一. MVC, MVP, MVVM誕生的需求?

二. 一段典型的耦合代碼

三. MVC模式

     3.1 主動MVC

     3.2 被動MVC

     3.3 Web應用中的MVC框架

     3.4 MVC總結

一,MVC, MVP, MVVM誕生的需求?

軟件中最核心的,最基本的東西是什么? 是的,是數據。我們寫的所有代碼,都是圍繞數據的。
圍繞著數據的產生、修改等變化,出現了業務邏輯。
圍繞著數據的顯示,出現了不同的界面技術。

沒有很好設計的代碼,常常就會出現數據層(持久層)和業務邏輯層還有界面代碼耦合的情況。

ORM等框架,解耦合了業務邏輯和數據之間的耦合,業務邏輯不再關心底層數據如何存儲和讀取。所有數據呈現給業務邏輯層的就是一個個的對象。
而MVC, MVP, MMVM用來解決業務邏輯和視圖之間的耦合。

二,一段典型的耦合代碼

復制代碼 代碼如下:

{

SqlDataAdapter adapter = new SqlDataAdapter("select * from Table1","server=.;database=db;uid=sa;pwd=password");

DataSet ds = new DataSet("ds1");

adapter.Fill(ds);

this.GridView1.DataSource = ds;

this.GridView1.DataBind();

}

上面的這段代碼中,既包含了數據訪問,還包含的頁面展示。當項目復雜程度更高,這種代碼就會變得非常難以維護,層次也不清晰。

三,MVC模式

MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。MVC開始是存在于桌面程序中的,M是指業務模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式

3.1 主動MVC
MVC的理論思想對應的是主動MVC, 這里的主動的意思是, Model會主動通知View更新。而我們使用MVC框架, Struts, asp.net mvc等都不是主動MVC(視圖的更新都是通過Controller完成的)

Model

用于封裝與應用程序的業務邏輯相關的數據以及對數據的處理方法。
模型中數據的變化一般會通過一種刷新機制被公布。為了實現這種機制,那些用于監視此模型的視圖必須事先在此模型上注冊,從而,視圖可以了解在數據模型上發生的改變。

View

視圖層負責數據的展示。
在視圖中一般沒有程序上的邏輯。為了實現視圖上的刷新功能,視圖需要訪問它監視的數據模型(Model),因此應該事先在被它監視的數據那里訂閱Model的事件。

Controller

控制器是M和V之間的連接器,用于控制應用程序的流程。它處理事件并作出響應。“事件”包括用戶的行為和數據模型上的改變。

3.2 被動MVC
下圖是被動MVC中的流程,和主動MVC不同之處是, View沒有訂閱Model數據變化的事件,等待Model來通知需要根據新的數據來更新View. 在被動MVC中,Controller負責通知View, 有數據變化,需要更新視圖。

 

 

被動MVC 中,與主動MVC的區別在于:
1、模型對視圖和控制器一無所知,它僅僅是被它們使用
2、控制器使用視圖,并通知它更新數據顯示
3、視圖僅僅是在控制器通知它去模型取數據的時候它才這么做(視圖并不會訂閱或監視模型的更新) 

3.3. Web應用中的MVC框架
Web中的MVC框架都是被動MVC模式,因為web應用中, 由于http是基于請求和響應方式協同工作的,因此當服務器端的model(數據)發生變化時,它不會立即更新客戶端的view,只有客戶端重新請求或刷新頁面時才更新.

下圖是典型的MVC框架中的MVC一個請求流程。

3.4 MVC總結
MVC優點

•由于MVC很好的分離了視圖層和業務層,所以它具有以下優點
•耦合性低
•開發速度快
•可維護性高
•沒有控件的概念,對html沒有封裝,易于理解
•和其它平臺(java, php)等更加相似。便于人才獲取

MVC使用的誤區

1.把Model理解成實體類(Entity),在MVC中Model應該包含2部分功能,一部分是處理業務邏輯,一部分是提供View顯示的數據
2.把業務邏輯全部放在Controller端

這兩個誤區本質上都是對Model的作用不明導致的。

Model在MVC架構中起的作用非常重要,它應該是業務邏輯真正的實現層。所以Model的實際上是Business Model(業務模型)。而Controller僅僅起一個“橋梁”作用,它負責把View的請求轉發給Model,再負責把Model處理結束的消息通知View。Controller是用來解耦View和Model的,具體一點說,就是為了讓UI與邏輯分離(界面與代碼分離)。

引自http://www.techopedia.com/definition/27454/model-mvc-aspnet

復制代碼 代碼如下:

Techopedia explains Model (MVC)
The Model is the part of MVC which implements the domain logic. In simple terms, this logic is used to handle the data passed between the database and the user interface (UI).

The Model is known as domain object or domain entity.
The domain objects are stored under the Models folder in ASP.NET. The domain model represents the application perspective for the data to be handled whereas a view model is required to produce the engine that generates the View.

This definition was written in the context of ASP.NET.

MVC的缺點

完美的MVC應用場景應該是這樣的:

有個Student Model, 關聯StudentListView,  StudentEditView.
對于StudentListView, Student Model提供Student的集合數據來顯示StudentListView
對于StudentEditView, Student Model提供單個Student數據來展示StudentEditView并且響應StudentEditView的保存操作。

但是這只是完美的情況,實際應用中,在ListView上,不單單顯示Student的信息,可能還需要這個Student的歷史成績,家庭情況,  老師信息。而這些是Student Model不能提供的。
也許我們可以擴展Student Model, 將Student Model能夠提供的信息擴展,包含成績信息等,這本身也可以。但是,如果Student顯示的View,這個需要只是需要額外的成績信息,另一個View只是需要額外的家庭信息,Student Model是不是有些疲于奔命,你能知道還會有多少個差異化的View的需求? 而且讓邏輯端代碼這樣不斷的修改來適應View端,好嗎?

由于MVC的設計思想是從Model出發,而沒有考慮到View端的復雜性,這樣導致的問題是Model難以符合復雜多變的View端變化。
相對這點,MVP和MVVM就要好得多。它們都獨立出了Presenter 和ViewModel來對應每個View。

您可能感興趣的文章:
  • ASP.NET小結之MVC, MVP, MVVM比較以及區別(二)
  • MVC、MVP和MVVM分別是什么_動力節點Java學院整理

標簽:張家界 天門 蘭州 新疆 陽泉 江蘇 白山 德陽

巨人網絡通訊聲明:本文標題《ASP.NET小結之MVC, MVP, MVVM比較以及區別(一)》,本文關鍵詞  ASP.NET,小結,之,MVC,MVP,MVVM,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET小結之MVC, MVP, MVVM比較以及區別(一)》相關的同類信息!
  • 本頁收集關于ASP.NET小結之MVC, MVP, MVVM比較以及區別(一)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    99久久精品国产精品久久| 五月天久久比比资源色| 欧美在线不卡一区| 亚洲国产sm捆绑调教视频| 欧美日韩视频第一区| 亚洲bt欧美bt精品| 综合久久久久综合| 欧美日韩高清影院| 久久久青草青青国产亚洲免观| 久久精品日产第一区二区三区高清版 | 亚洲国产另类av| 国产精品久久久一本精品| 综合自拍亚洲综合图不卡区| 日本特黄久久久高潮 | 国产一区二区三区美女| 国产精品原创巨作av| 欧美日韩大陆在线| 亚洲欧美欧美一区二区三区| 亚洲国产日韩一级| 久久久久亚洲综合| 一区二区三区av电影| 欧美午夜精品一区二区三区| 亚洲黄网站在线观看| 91丨九色丨国产丨porny| 久久se这里有精品| 免费人成在线不卡| 菠萝蜜视频在线观看一区| 911国产精品| 日韩一区二区三区电影在线观看 | 亚洲精品中文在线观看| 成人av手机在线观看| 在线观看91精品国产麻豆| 精品日韩在线观看| 8x8x8国产精品| 精品美女在线播放| 久久这里只有精品视频网| 亚洲第一狼人社区| 视频一区二区中文字幕| 欧美一卡二卡三卡| 色综合久久综合网97色综合| 日本不卡在线视频| 国产精品麻豆欧美日韩ww| 欧美做爰猛烈大尺度电影无法无天| 欧美色爱综合网| 91九色最新地址| 国产精品久久久久影院| 97se狠狠狠综合亚洲狠狠| 亚洲精品在线观| 国产日韩欧美a| 麻豆一区二区99久久久久| 久久青草欧美一区二区三区| 在线观看国产91| 亚洲欧美乱综合| 91国产成人在线| 精品国产成人系列| 亚洲欧美日韩综合aⅴ视频| 欧美在线色视频| 一区二区三区日韩在线观看| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 色拍拍在线精品视频8848| 欧美激情一区不卡| 亚洲成av人片| 欧美日韩久久一区| 捆绑紧缚一区二区三区视频| 免费日本视频一区| 国产精品久久久久久久久果冻传媒 | 99久久精品免费| 国产精品久久三区| 日韩一级免费一区| 91在线免费播放| 成人综合激情网| 亚洲亚洲人成综合网络| 亚洲欧洲日韩女同| 欧美一a一片一级一片| 在线观看91视频| 午夜电影网一区| 日韩欧美资源站| 春色校园综合激情亚洲| 欧洲av一区二区嗯嗯嗯啊| 欧美区视频在线观看| 欧美另类z0zxhd电影| 日韩欧美中文一区| 91丨porny丨最新| 成人精品免费看| 国产伦精品一区二区三区免费| a4yy欧美一区二区三区| 成人午夜精品在线| 亚洲一区影音先锋| 亚洲国产一区二区视频| 亚洲影视资源网| 国产欧美日韩视频一区二区 | 午夜精品久久久久久久99樱桃| 亚洲va韩国va欧美va精品| 亚洲电影在线免费观看| 亚洲妇女屁股眼交7| 亚洲成a人片在线观看中文| 一区二区三区在线影院| 1024成人网| 日韩欧美久久久| 精品入口麻豆88视频| 国产精品国产三级国产普通话三级 | 丁香五精品蜜臀久久久久99网站| 欧美性色黄大片| 欧美亚洲愉拍一区二区| 欧美性猛交xxxx乱大交退制版 | 老司机午夜精品99久久| 成人丝袜视频网| 不卡av免费在线观看| 欧美v国产在线一区二区三区| 天堂一区二区在线免费观看| 亚洲一区免费在线观看| 激情综合网激情| 日本韩国欧美一区二区三区| 久久久国产精华| 日韩亚洲欧美成人一区| jlzzjlzz欧美大全| 在线国产亚洲欧美| 91精品国产手机| 自拍偷自拍亚洲精品播放| 欧美二区三区的天堂| 亚洲欧美电影一区二区| 99久久婷婷国产| 欧美麻豆精品久久久久久| 日韩电影一区二区三区四区| 欧美日韩中文字幕精品| 国产自产v一区二区三区c| 亚洲一区二区三区在线看| 91在线观看地址| 欧美高清在线精品一区| 日韩免费一区二区| 亚洲一区二区三区四区中文字幕| 日韩欧美中文字幕精品| 欧美日韩午夜影院| 午夜精品久久久久影视| 亚洲日本在线看| 国产成人在线视频网站| 国产精品午夜在线观看| 正在播放一区二区| 久久久99久久精品欧美| 亚洲国产视频一区二区| 欧美v国产在线一区二区三区| 国产成人亚洲综合a∨婷婷| 亚洲日本护士毛茸茸| 久久亚洲私人国产精品va媚药| av在线不卡电影| 国产精品免费丝袜| 欧美日韩国产免费一区二区| 国产东北露脸精品视频| 日本不卡一二三| 久久免费的精品国产v∧| 欧美国产成人精品| 国产成人一级电影| 精品一区二区三区免费| eeuss国产一区二区三区| 国产激情一区二区三区| 激情国产一区二区| 尤物在线观看一区| 色天天综合色天天久久| 不卡av在线免费观看| 欧美v国产在线一区二区三区| 亚洲日本韩国一区| 欧美精品久久99久久在免费线 | 成人av资源站| 国产精品免费看片| 欧美在线高清视频| 色哟哟在线观看一区二区三区| 欧美人与禽zozo性伦| 色欧美片视频在线观看在线视频| 日韩欧美国产一区二区在线播放| 欧美日韩一区二区三区免费看| 日韩一区二区免费在线电影 | 亚洲精品视频在线观看免费| 麻豆精品蜜桃视频网站| 国产一区二区看久久| 国产精品99久久久久久宅男| 成人18精品视频| 日韩中文字幕亚洲一区二区va在线 | 国产福利一区在线观看| 欧美伦理视频网站| 欧美巨大另类极品videosbest| 欧美一区二区精品在线| 久久综合色鬼综合色| 美女任你摸久久| 依依成人综合视频| 日产国产欧美视频一区精品| 国产精品中文字幕日韩精品 | 免费三级欧美电影| 午夜一区二区三区在线观看| 97国产精品videossex| 亚洲三级视频在线观看| 久久国产福利国产秒拍| 亚洲精品一区二区在线观看| 一区二区三区美女视频| 国产成人在线看| 欧美亚洲国产怡红院影院| 精品国产露脸精彩对白| 日韩av一级电影| 麻豆免费看一区二区三区| 国产欧美日韩另类一区| 亚洲欧美国产77777|