国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

.NET MVVM設(shè)計(jì)模式簡介

開發(fā) 后端
MVVM 模式能夠幫你把你程序的業(yè)務(wù)與展現(xiàn)邏輯從用戶界面干凈地分離開。保持程序邏輯與界面分離能夠幫助解決很多開發(fā)以及設(shè)計(jì)問題,能夠使你的程序能更容易的測試,維護(hù)與升級。它也能很大程度的增加代碼重用性,并讓開發(fā)者與界面設(shè)計(jì)者更容易地相互合作。

英文原文:Intro to the Model-View-ViewModel Design Pattern

MVVM 模式能夠幫你把你程序的業(yè)務(wù)與展現(xiàn)邏輯從用戶界面干凈地分離開。保持程序邏輯與界面分離能夠幫助解決很多開發(fā)以及設(shè)計(jì)問題,能夠使你的程序能更容易的測試,維護(hù)與升級。它也能很大程度的增加代碼重用性,并讓開發(fā)者與界面設(shè)計(jì)者更容易地相互合作。

使用 MVVM 模式,程序的 UI 和其背后的展現(xiàn)與業(yè)務(wù)邏輯將被分離至三個(gè)類中:

1-視圖,封裝 UI 與 UI 邏輯

2-模型視圖,封裝展示邏輯與狀態(tài)

3-模型,封裝程序的業(yè)務(wù)邏輯以及數(shù)據(jù)

MVVM 模式是展示-模型模式的變種,它優(yōu)化了一些 WPF 的核心特性,例如數(shù)據(jù)綁定,數(shù)據(jù)模版,命令以及行為。在 MVVM 模式中,視圖通過數(shù)據(jù)綁定以及命令行與視圖模型交互,并改變事件通知。視圖模型查詢觀察并協(xié)調(diào)模型更新,轉(zhuǎn)換,校驗(yàn)以及聚合數(shù)據(jù),從而在視圖顯示。

下圖展示了 MVVM 類以及它們之間的交互:

 

視圖類

視圖的責(zé)任便是定義用戶在屏幕上能看到的一切的結(jié)構(gòu)以及外觀。理想的視圖背后的代碼只包含調(diào)用 InitializeComponent 方法的構(gòu)造函數(shù)。視圖通常扮演以下關(guān)鍵角色:

  • 視圖是可視化元素,例如窗口,頁面,用戶控件或者數(shù)據(jù)模版
  • 視圖定義了包含在視圖里的控件以及可視化層以及樣式
  • 視圖通過 DataContext 屬性應(yīng)用視圖模型
  • 綁定了控件以及數(shù)據(jù)的屬性以及命令被視圖模型暴露出來
  • 視圖可以定制化視圖與視圖模型間數(shù)據(jù)綁定行為
  • 視圖定義以及處理 UI 可視化行為例如動(dòng)畫
  • 視圖背后的代碼實(shí)現(xiàn)了用 XAML 很難表達(dá)的可視化行為

視圖模型類

視圖模型在 MVVM 模式中為視圖封裝了展示邏輯,它并不是直接引用視圖或者任何其他關(guān)于視圖特定的實(shí)現(xiàn)或者類型。視圖模型實(shí)現(xiàn)了屬性以及命令使得視圖進(jìn)行數(shù)據(jù)綁定,并通過改變事件通知來提醒視圖狀態(tài)已經(jīng)改變了。視圖模型提供的屬性和命令定義了提供給 UI 的功能。但是視圖定義了如何渲染的功能。

視圖模型負(fù)責(zé)協(xié)調(diào)視圖與任何需要的模型類的交互。很典型的,視圖模型與視圖類有著一堆多的關(guān)系。視圖模型可以選擇直接將模型類暴露給視圖,因此視圖的控件能夠直擊進(jìn)行數(shù)據(jù)綁定。視圖模型可以轉(zhuǎn)換或者操縱模型數(shù)據(jù)所以能夠很容易被視圖使用。

很典型的,視圖模型會(huì)定義能被展現(xiàn)在 UI 上并被用戶調(diào)用的的命令或者行為。一個(gè)通用的例子就是當(dāng)視圖模型需要提交命令時(shí)會(huì)允許用戶提交數(shù)據(jù)到網(wǎng)絡(luò)服務(wù)或者數(shù)據(jù)庫。視圖可以選擇用一個(gè)按鈕來展示所以用戶能夠點(diǎn)擊該按鈕提交數(shù)據(jù)。典型地,當(dāng)命令編程不可用的,它相關(guān)的 UI 展示也變得不可用。視圖模型通常扮演下面這些關(guān)鍵角色:

  • 模型視圖是非可視化類,它封裝了展現(xiàn)邏輯
  • 視圖模型是可以獨(dú)立于視圖與模型調(diào)試的
  • 視圖模型很典型地是不直接引用視圖的
  • 視圖模型實(shí)現(xiàn)了視圖用來數(shù)據(jù)綁定的屬性與命令
  • 視圖模型通過改變提醒事件通知視圖狀態(tài)的改變:INotifyPropertyChanged 與 INotifyCollectionChanged
  • 視圖模型協(xié)調(diào)視圖與模型的交互
  • 視圖模型可以定義視圖展現(xiàn)給用戶的邏輯狀態(tài)

模型類

model 在 MVVM 模式中封裝了業(yè)務(wù)邏輯以及數(shù)據(jù),業(yè)務(wù)邏輯定義了像所有檢索和程序數(shù)據(jù)管理相關(guān)的程序邏輯一樣,用來確保所有的保證數(shù)據(jù)持久與有效的業(yè)務(wù)規(guī)則被應(yīng)用。***化代碼重用,模型不能包含任何特定的情況,特定的用戶任務(wù)以及程序邏輯。

典型的有模型為程序展現(xiàn)了客戶端域模型,模型也可能包含支持?jǐn)?shù)據(jù)訪問與緩存的代碼,即使有一個(gè)分離的數(shù)據(jù)庫或者服務(wù)被使用。模型與數(shù)據(jù)房分層通常被作為數(shù)據(jù)訪問或嗚嗚結(jié)構(gòu)而生成,例如 ADO.NET 尸體礦井唉,WCF 數(shù)據(jù)服務(wù),或者 WCF RIA 服務(wù)。

模型層實(shí)現(xiàn)了輕松綁定視圖的功能。這通常意味著它支持通過 INotifyPropertyChanged 與 INotifyCollectionChanged 進(jìn)行屬性與集合更改通告。展現(xiàn)對象集合的模型類典型地源自 ObservableCollection<T>類,該類提供了對 INotifyCollectionChanged 接口的實(shí)現(xiàn)。

模型也能通過 IDataErrorInfo 接口支持?jǐn)?shù)據(jù)驗(yàn)證以及錯(cuò)誤報(bào)告。這些接口允許當(dāng)數(shù)值改變時(shí)的 WPF 數(shù)據(jù)綁定被通知,從而更新界面。模型通常扮演如下的關(guān)鍵角色:

  • 模型類是不可視類,它封裝了程序數(shù)據(jù)
  • 模型類不直接應(yīng)用視圖或視圖模型類
  • 模型類不依賴于它們是如何實(shí)現(xiàn)的
  • 模型類是典型地通過 INotifyPropertyChanged/INotifyCollectionChanged 接口提供屬性與集合更改事件的.
  • 模型類很典型地繼承自 ObservableCollection<T> 類
  • 模型類是很典型地通過 IDataErrorInfo/INotifyDataErrorInfo.提供數(shù)據(jù)驗(yàn)證與錯(cuò)誤報(bào)告
  • 模型類典型地與封裝了數(shù)據(jù)訪問的服務(wù)一起使用。

原文來自:http://www.oschina.net/question/89964_46543

【編輯推薦】

  1. 為什么我不再做.NET開發(fā)
  2. 詳細(xì)解讀ASP.NET的異步
  3. ASP.NET的路由系統(tǒng):URL與物理文件的分離
  4. ASP.NET MVC3 從零開始一步步構(gòu)建Web
  5. Node.js vs Opa: Web框架殺手
責(zé)任編輯:林師授 來源: OSCHINA
相關(guān)推薦

2021-01-21 05:50:28

MVVM模式Wpf

2010-06-09 18:17:18

UML

2023-02-09 17:10:05

Observable設(shè)計(jì)模式

2010-07-07 09:48:05

UML

2011-07-28 09:50:58

設(shè)計(jì)模式

2010-01-21 09:08:53

.NET設(shè)計(jì)模式

2024-04-28 10:22:08

.NETMVVM應(yīng)用工具包

2013-07-31 13:13:50

Windows PhoMVVM模式

2017-07-17 15:19:10

MVVM模式iOS開發(fā)MVP

2012-04-24 09:55:29

.NET

2023-10-20 13:21:55

軟件設(shè)計(jì)模式架構(gòu)

2011-07-27 16:55:09

windows安全模式

2011-05-20 11:31:07

ADO.NET

2015-06-11 14:57:23

ASP.NET 5

2009-08-26 14:23:14

C#.Net Fram

2009-06-11 17:13:44

J2EE設(shè)計(jì)模式Dao設(shè)計(jì)模式

2009-07-24 13:54:39

MVVM模式

2024-05-31 12:59:03

2021-02-01 10:01:58

設(shè)計(jì)模式 Java單例模式

2010-07-15 18:04:20

Perl模式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

在线看片黄色| 久久亚洲一区二区| 亚洲欧洲闷骚av少妇影院| 日本亚洲免费观看| 久久精品免费播放| 天堂资源在线中文| 国产精品美女久久久久aⅴ国产馆| 国产精品成人观看视频免费| 国产麻豆精品| 欧美片网站yy| 天天干夜夜干| 久久久久久99久久久精品网站| 欧美日韩亚洲在线| 青青草原综合久久大伊人精品| 伊人亚洲福利一区二区三区| 91av资源在线| 亚洲激情欧美激情| 北条麻妃在线一区| 狠狠网亚洲精品| 麻豆一区区三区四区产品精品蜜桃| 免费电影一区二区三区| 色在人av网站天堂精品| 岛国一区二区| 日韩国产精品亚洲а∨天堂免| 国产专区在线播放| 亚洲精品国产精品乱码不99| 国产乱子夫妻xx黑人xyx真爽| 久久国产尿小便嘘嘘| 蜜桃999成人看片在线观看| 国产精品久久久久久麻豆一区软件| 性欧美视频videos6一9| 日本午夜精品久久久久| 亚洲精品suv精品一区二区| 高清福利在线观看| 91国产成人在线| 宅男深夜国产| 午夜伦理一区二区| 亚洲成av人影片在线观看| 亚洲自拍另类综合| 男男做性免费视频网| 亚洲欧洲www| 亚洲老女人av| 亚欧洲精品在线视频免费观看| 日韩精品dvd| 国产精品精品视频| 国产一区2区| 国产精品久久久久久久久久小说| 台湾色综合娱乐中文网| 91精品国产成人| 日韩欧美美女在线观看| 亚洲图色一区二区三区| 97久久精品人人做人人爽 | 五月婷婷欧美视频| 丝袜足控免费网站xx网站| 18涩涩午夜精品.www| 麻豆av观看| 欧美视频13p| 日本三级视频在线观看| 日韩一区二区中文字幕| 西游记1978| 国产精品亚洲欧美| 日韩色妇久久av| 日韩和的一区二区| 97精品视频在线| 中文字幕av一区二区三区四区| 久久全球大尺度高清视频| 欧美精品一区二区久久| 亚洲一区二区三区四区在线播放| 欧美区一区二| 一区二区不卡视频| 成人av网站在线观看| 香港日本韩国三级网站| 亚洲一二三级电影| 日本最黄一级片免费在线| 欧美xxxx在线观看| 欧美一区二区三区婷婷| 精品少妇v888av| 久久国产小视频| 欧美成人一区二区在线| 国产成人免费高清| gay网站在线| 精品视频免费在线| 在线免费三级电影网站| 午夜精品久久久久久久99热浪潮| 国产麻豆一区二区三区精品视频| 粉嫩av一区二区三区免费观看| 老妇喷水一区二区三区| 日韩 欧美 高清| 色天使久久综合网天天| 香蕉视频亚洲一级| 欧美中文在线免费| 免费在线亚洲| 在线免费观看av的网站| 欧美日韩午夜在线视频| 欧美一级片网址| 久久免费看av| 国产精品视频免费| 欧美午夜大胆人体| 国产精品91久久久| 国产乱码精品一区二区三区忘忧草| 成人永久免费网站| 亚洲国产欧美一区二区三区久久| 日本午夜精品久久久| 久久综合一区二区三区| 国产精品福利一区| 波多野结依一区| 91禁外国网站| 久久99热这里只有精品| 色视频www在线播放国产| 亚洲一区二区黄| 亚洲国产日本| 国产乱妇乱子| 正在播放亚洲1区| 亚洲高清av| 制服丝袜影音先锋| 国产婷婷成人久久av免费高清 | 国产精品久久久久久久久久久久久久久 | 毛片在线看片| 国产成人精品一区二区在线| 国产麻豆成人传媒免费观看| 成年在线观看免费人视频| 国外成人免费在线播放| 国产成人丝袜美腿| 伊人在我在线看导航| 亚洲va欧美va国产综合久久| 国产精品久久毛片av大全日韩| 久草在线资源福利站| av在线不卡一区| 亚洲一区二区三区影院| 在线播放一区二区精品视频| 在线观看污视频| 欧美一卡二卡三卡| 欧美777四色影| 九色免费视频| 欧美黑人一级爽快片淫片高清| 精品制服美女丁香| 国产在线观看91| 99在线视频免费观看| 亚洲综合激情另类小说区| 久久av网站| 国产精品久久久久久久久电影网| 91精品国产综合久久久久久漫画| 99久久99视频只有精品| 三级ai视频| 欧美极度另类性三渗透| 久久午夜羞羞影院免费观看| 成人自拍av| 黄色特一级视频| 亚洲剧情一区二区| 日韩激情一二三区| 在线午夜影院| 欧美综合77777色婷婷| 欧美高清www午色夜在线视频| 91精品国产91久久久久久黑人| 美女网站在线观看| 国产精品一区二区久久精品| 夜夜嗨av一区二区三区中文字幕 | 日韩精品一区二区在线视频| 国产偷国产偷亚洲清高网站| 久久99精品视频| 天天综合av| 日韩精品综合在线| 波霸ol色综合久久| 2014亚洲片线观看视频免费| 久久伊人影院| 蜜臀久久99精品久久久酒店新书| 欧美另类老女人| 国产精品福利影院| 美女毛片一区二区三区四区| 成全视频在线播放大地| 日韩中文字幕视频在线观看| 国产午夜精品美女毛片视频| 伦理一区二区| 作爱视频免费观看视频在线播放激情网| 国产精品国模在线| 欧美性猛交xxxxx水多| 亚洲久久一区二区| 国产拍在线视频| 欧美r级在线观看| 美国欧美日韩国产在线播放| 欧美黑人一区| 国产男女无遮挡| 欧美在线精品免播放器视频| 午夜精品福利一区二区蜜股av | 成人18网址在线观看| 国产精品亚洲自拍| 欧美日韩高清在线播放| 日韩有码一区二区三区| 日本一道高清亚洲日美韩| 午夜肉伦伦影院| 国产精品高清在线| 欧美丰满少妇xxxbbb| 韩国av一区二区| 岛国精品一区| 国产精品影院在线| 日本老太婆做爰视频| 欧美在线影院在线视频| 91精品婷婷国产综合久久竹菊| 国产乱人伦偷精品视频免下载| 粉嫩精品导航导航|