亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MVVM和MVVMLight框架介紹及在項目中的使用詳解

 更新時間:2022年01月31日 11:57:31   作者:Brand  
這篇文章主要為大家介紹了MVVM和MVVMLight的介紹及在項目中的使用詳解有需要的朋友可以借鑒參考下,祝大家除夕快樂多多進步

一、MVVM 和 MVVMLight介紹

MVVM是Model-View-ViewModel的簡寫。類似于目前比較流行的MVC、MVP設(shè)計模式,主要目的是為了分離視圖(View)和模型(Model)的耦合。

它是一種極度優(yōu)秀的設(shè)計模式,但并非框架級別的東西,由MVP(Model-View-Presenter)模式與WPF結(jié)合的應(yīng)用方式時發(fā)展演變過來的一種新型架構(gòu)。

立足于原有MVP框架并且把WPF的新特性糅合進去,以應(yīng)對PC端開發(fā)日益復(fù)雜的需求變化。

結(jié)構(gòu)如圖所示:

相對于之前把邏輯結(jié)構(gòu)寫在Code Behind 里面的方式,MVVM幾乎完全解耦了視圖和邏輯業(yè)務(wù)的關(guān)系,通過數(shù)據(jù)綁定和命令來處理UI屬性

及事件驅(qū)動。同理,ViewModel的視圖交互業(yè)務(wù)邏輯處理導(dǎo)致的屬性變更也會通知到View前端,讓View前端實時更新。Model中存放數(shù)據(jù)模型和數(shù)據(jù)邏輯、業(yè)務(wù)邏輯。

其實我個人認(rèn)為,數(shù)據(jù)和業(yè)務(wù)交互這一層還是應(yīng)該另外獨立,Model中完全就是實體模型,這樣更清晰。

這種類型的雙向綁定非常優(yōu)秀,View的變動,會自動反應(yīng)到ViewModel上,反之亦然。目前JS前端框架AngularJS也是采用這種設(shè)計模式。

MVVM模式和MVC模式一樣,主要目的是分離視圖(View)和模型(Model),有幾大優(yōu)點

1. 低耦合:視圖(View)可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的View上,當(dāng)View變化的時候Model可以不變,當(dāng)Model變化的時候View也可以不變。

2. 可重用性:可以把一些視圖邏輯放在一個ViewModel里面,讓很多View重用這段視圖邏輯。

3. 獨立開發(fā):開發(fā)人員可以專注于業(yè)務(wù)邏輯和數(shù)據(jù)的開發(fā)(ViewModel),設(shè)計人員可以專注于頁面設(shè)計,使用Expression Blend可以很容易設(shè)計界面并生成xml代碼。

4. 可測試:界面素來是比較難于測試的,而現(xiàn)在測試可以針對ViewModel來寫。

希望對MVVM有更進一步了解的同學(xué)可以看看這篇文章:https://www.codeproject.com/kb/wpf/wpfmvvmquickstart.aspx,

作者從MVVM的模式介紹到數(shù)據(jù)綁定、消息通知、命令等幾個主要方面都有詳細(xì)的說明。

如果你目前正在進行微軟的 WPF 、Windows Phone、Windows 8、SilverLight相關(guān)項目的開發(fā),我先很有必要了解一下MVVM Light框架。

它輕量(相對于Prism),專注(僅負(fù)責(zé)MVVM架構(gòu)模式的實現(xiàn),沒有其他多余的組件),高效(使用簡易,省時減力),能夠幫助你更好的開發(fā)你的應(yīng)用。

MVVMLight的作者Laurent Bugnion 是個微軟MVP,這個是MVVMLight的官網(wǎng):http://www.mvvmlight.net/,上面有詳細(xì)的介紹和視頻文檔。

有趣的是,MVVMLight的產(chǎn)品Logo是一根羽毛,寓意了我們上面提到的優(yōu)點:輕量、專業(yè)、高效,不知道作者是不是這個意思。

二、如何在你的WPF應(yīng)用中使用MVMLight

主要使用方式有兩種;

一種是去官網(wǎng)上下載MVVMLight Toolkit,安裝之后,VS模板中會出現(xiàn)MvvmLight項目模板,你可以直接使用該項目模板來創(chuàng)建項目了。

里面會包含默認(rèn)的ViewModelLocator和MainViewModel,MainViewModel就是你Main視圖的ViewModel了,而ViewModelLocator是一個全局的ViewModel加載注冊器,這個第二篇會詳細(xì)說到。

另一種方式就是去NuGet上安裝,這無疑是最便捷的事了。在NuGet 工具箱上搜索 MVVM Light,可以看到兩個項目,一個是MVVM Light , 一個是 MVVM Light libraries only。

當(dāng)前版本是5.3,說明MVVM Light的更新速度還是挺快的,Prerelease中還有 V5.4 的 ALAPHA 版本。

Nuget上這兩個項目的區(qū)別就是MVVM Light除了必要的GalaSoft 組件之外,還會額外添加相關(guān)分層文件目錄形成簡單的MVVMLight成型框架。

如圖它會幫你生成ViewModel文件夾,里面包含MainViewModel和ViewModelLocator文件。

至此,一個基于MVVMLight的WPF項目框架基本搭建完成了,下面一篇我們詳細(xì)說下框架的結(jié)構(gòu)。

以上就是MVVM和MVVMLight介紹及在項目中的使用詳解的詳細(xì)內(nèi)容,更多關(guān)于MVVM和MVVMLight介紹及使用的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • FFmpeg Principle學(xué)習(xí)open_output_file打開輸出文件

    FFmpeg Principle學(xué)習(xí)open_output_file打開輸出文件

    這篇文章主要為大家介紹了FFmpeg Principle學(xué)習(xí)open_output_file打開輸出文件示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • 解決Android 高CPU占用率的問題

    解決Android 高CPU占用率的問題

    最近測試測試APP的一個功能,發(fā)現(xiàn)點擊頁面上的按鈕后,CPU占有率比之前的版本要高,所以本文給大家介紹了如何解決Android 高CPU占用率的問題,需要的朋友可以參考下
    2023-09-09
  • Android TextView實現(xiàn)跑馬燈效果的方法

    Android TextView實現(xiàn)跑馬燈效果的方法

    這篇文章主要介紹了Android TextView跑馬燈效果實現(xiàn)方法,涉及Android布局文件中相關(guān)屬性的設(shè)置技巧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android中persistent屬性用法詳解

    Android中persistent屬性用法詳解

    這篇文章主要介紹了Android中persistent屬性用法,詳細(xì)分析了persistent屬性的功能及相關(guān)用法,需要的朋友可以參考下
    2016-06-06
  • Android自定義PopupWindow小案例

    Android自定義PopupWindow小案例

    這篇文章主要為大家詳細(xì)介紹了Android自定義PopupWindow小案例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 使用ViewPager2實現(xiàn)簡易輪播圖效果

    使用ViewPager2實現(xiàn)簡易輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了使用ViewPager2實現(xiàn)簡易輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Android通過訪問網(wǎng)頁查看網(wǎng)頁源碼實例詳解

    Android通過訪問網(wǎng)頁查看網(wǎng)頁源碼實例詳解

    這篇文章主要介紹了Android通過訪問網(wǎng)頁查看網(wǎng)頁源碼的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • android實現(xiàn)線程間通信的四種常見方式

    android實現(xiàn)線程間通信的四種常見方式

    線程通信相信大家都不陌生了,但是你知道幾種方法呢,本文主要介紹了android實現(xiàn)線程間通信的四種常見方式,分享給大家,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Android中使用TextView實現(xiàn)高仿京東淘寶各種倒計時效果

    Android中使用TextView實現(xiàn)高仿京東淘寶各種倒計時效果

    今天給大家?guī)淼氖莾H僅使用一個TextView實現(xiàn)一個高仿京東、淘寶、唯品會等各種電商APP的活動倒計時。今天小編把實現(xiàn)代碼分享到腳本之家平臺,對android textclock 倒計時效果感興趣的朋友參考下吧
    2016-10-10
  • 淺談Service Manager成為Android進程間通信(IPC)機制Binder守護進程之路

    淺談Service Manager成為Android進程間通信(IPC)機制Binder守護進程之路

    本文主要介紹 淺談Service Manager成為Android進程間通信(IPC)機制Binder守護進程之路,這里詳細(xì)介紹了相關(guān)Binder的資料,幫助大家理解學(xué)習(xí)Android 源碼Binder通信機制,有興趣的小伙伴可以參考下
    2016-08-08

最新評論