mvvm框架有哪些?
mvvm框架有:1、MVVMLight框架,實現MVVM模式的輕量級框架;2、Prism框架;3、Caliburn框架,一個MVVM類別的開源框架;4、MVVM Helpers框架;5、 Cinch框架;6、MVVMFoundation框架
#實作MVVM的框架
1.最強大且功能最多的組合框架-Prism
##下載網址:http://compositewpf.codeplex.com/開發者:微軟patterns & practices團隊是否支援Silverlight:是學習資料:Composite Application Guidance for WPF and Silverlight - May 2010.chm以及Quickstarts和StockTraderRI等。 原始碼截圖如下:2、最強大且功能最多的應用程式框架-Caliburn
下載網址:http://caliburn.codeplex.com/開發者:Rob Eisenberg是否支援Silverlight:是學習資料:我主要參考專案實例、原始碼、單元測試用例、國外一些部落格和社群。 原始碼截圖如下:3、輕量級且適用的MVVMLight
MVVMLight是實現MVVM模式的輕量級框架(相對於Prism),能夠更好的幫助我們開發WPF 、Windows Phone、Windows 8、SilverLight相關專案。 MVVMLight的作者Laurent Bugnion 是個微軟MVP,作者將程式碼開源到Codeplex上面:http://mvvmlight.codeplex.com/。 MVVMLight的官網:http://www.mvvmlight.net/,上面有詳細的介紹和視訊文檔,有興趣可以了解下。 下載網址:http://mvvmlight.codeplex.com/開發者:Laurent Bugnion是否支援Silverlight:是學習資料:除了online documentation,我主要參考專案實例、原始碼、單元測試案例、國外一些部落格和社群。另外這三篇文章非常不錯,用MVVMLight開發了一個比較完整的Silverlight企業專案- Part 1 - Introduction, Installation, and General Application Design Topics
- #Part 2 - MVVM Light Topics
- Part 3 - Custom Authentication, Reset Password and User Maintenance
1,RelayCommand:透過對Command進行封裝,讓MVVM模式在WPF和Silverlight上更容易。你只需要在ViewModel中定義好各個RelayCommand,然後在View中透過Command來綁定ViewModel中定義好的RelayCommand,就可以實現像WinForm、ASP.NET事件一樣的效果,只不過這裡是解除了UI和邏輯的強耦合。
2,Messager:MVVMLight中的Messager作用比較大,前面講了MVVM模式解除了ViewModel和View的強引用,那麼它們如何來互動呢?就是靠它來讓ViewModel和View來進行通訊的。一般我們會定義一個靜態AppMessages類別來作為通用的一個通訊類,原理就是發布訂閱模式。
3,EventToCommand:這裡就比較類似附加行為的概念,是在MVVM Light Toolkit V3中開始引入的概念。
4,ICleanup介面:當顯示某個View時,需要先呼叫Cleanup方法清除數據,這也是由於ViewModel和View的耦合隔離產生的一些必要操作。
MVVMLight是一個非常好用的MVVM框架,提供了VS和Blend的模板及智慧感知。它結合MEF使用真的感覺很輕量級且高效,而且提供了WPF和Silverlight的支持,尤其在Silverlight的支持上比較好,所以一般選擇輕量級的Silverlight MVVM模式,它比較被看好。
4、功能完整且易用的MVVM Helpers
#下載位址:http://mvvmhelpers.codeplex.com/
#開發者:Mark Smith
是否支援Silverlight:否
學習資料:http://www.julmar.com/blog/mark/以及提供的實例、原始碼及測試案例。
原始碼截圖如下:
MVVM Helpers又叫JulMar MVVM Helpers Behaviors,其中有幾個比較重要的概念:
1 、提供了MVVM模式的基本功能,包括ViewModel、View及Model之間的隔離,另外也提供了一些常用功能。
2、ViewModel的建立使用標籤的形式註入,現在也可以引入MEF。
3、IOC/DI的支持,屬性都有驗證機制,Wait Cursor的支持,當使用完viewmodel之後能及時釋放,這樣避免內存洩露。
4、提供了常用的Attached Behaviors支援。
5、訊息機制的引入,避免強引用產生的耦合。
MVVM Helpers是一個非常適用的MVVM框架,尤其是提供了MVVM常用功能 MEF Attached Behaviors,所以專案中的問題基本上都能解決。
5,強大且輕巧的Cinch
下載地址:http://cinch.codeplex.com/
開發者:Sacha Barber
是否支援Silverlight:否
學習資料:http://sachabarber.net/以及提供的實例、原始碼及測試案例。
原始碼截圖如下:
如果仔細研究其程式碼,你會發現它和上面講的MVVM Helpers有很多相似的程式碼,估計是相互參考了一番:-D。 Cinch 中有幾個比較重要的概念:
1,這個框架在沒有MEF出現之前就已經實現了ViewModel和View之間的強引用隔離,它既沒有一般IOC的配置,也沒有IView來做中轉,而且窗體和控制項的生命週期事件也處理得比較好,所以在這方面來說是非常好的。
2,提供了常用的Attached Behaviors支持,另外也提供了一些MVVM常用功能。
3,DI/IOC使用Unity實現,多執行緒的實現,避免系統出現不可預料的錯誤。
4,當使用完viewmodel之後能及時釋放,這樣避免記憶體洩露,驗證機制的加入,常用導航實作。
5,訊息機制的引入,避免強引用產生的耦合。
Cinch 是一個非常強大的框架,尤其是它比較著眼於整個應用程式的搭建,所以也比較受到青睞。
6、功能簡單易擴充的MVVMFoundation
#下載網址:http://mvvmfoundation.codeplex.com/
開發者:Josh Smith
是否支援Silverlight:否
學習資料:http://joshsmithonwpf.wordpress.com/以及提供的實例、原始碼及測試案例。
原始碼截圖如下:
MVVMFoundation中有幾個比較重要的概念:
1,Messenger:這裡主要用在各種不同的ViewModel之間通訊(例如相互關聯的ViewModel、主從ViewModel等),當然也可以擴充成ViewModel與View之間進行通訊。
2,ObservableObject:這裡相當於ViewModelBase的概念,每一個ViewModel繼承自該類,調用完成之後立即釋放,防止記憶體洩漏。
3,PropertyObserver:主要是對INotifyPropertyChanged.PropertyChanged進行封裝,這樣封裝可以精簡程式碼,同時可以防止不當操作引起的記憶體洩漏。
4,RelayCommand介面:封裝command的聲明,包括execution執行邏輯,可選的can-execute邏輯等。外部只需要實例化並Binding就可以簡單使用。
MVVMFoundation是一個非常簡單的MVVM框架,如果你覺得研究原始碼比較困難,就可以先從這個框架入手,程式碼簡單又精進。
更多程式相關知識,請造訪:程式設計學習網站! !
以上是mvvm框架有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

評估Java框架商業支援的性價比涉及以下步驟:確定所需的保障等級和服務等級協定(SLA)保證。研究支持團隊的經驗和專業知識。考慮附加服務,如昇級、故障排除和效能最佳化。權衡商業支援成本與風險緩解和提高效率。

PHP框架的學習曲線取決於語言熟練度、框架複雜性、文件品質和社群支援。與Python框架相比,PHP框架的學習曲線較高,而與Ruby框架相比,則較低。與Java框架相比,PHP框架的學習曲線中等,但入門時間較短。

輕量級PHP框架透過小體積和低資源消耗提升應用程式效能。其特點包括:體積小,啟動快,記憶體佔用低提升響應速度和吞吐量,降低資源消耗實戰案例:SlimFramework創建RESTAPI,僅500KB,高響應性、高吞吐量

根據基準測試,對於小型、高效能應用程序,Quarkus(快速啟動、低記憶體)或Micronaut(TechEmpower優異)是理想選擇。 SpringBoot適用於大型、全端應用程序,但啟動時間和記憶體佔用稍慢。

編寫清晰全面的文件對於Golang框架至關重要。最佳實踐包括:遵循既定文件風格,例如Google的Go程式設計風格指南。使用清晰的組織結構,包括標題、子標題和列表,並提供導覽。提供全面且準確的信息,包括入門指南、API參考和概念。使用程式碼範例說明概念和使用方法。保持文件更新,追蹤變更並記錄新功能。提供支援和社群資源,例如GitHub問題和論壇。建立實際案例,如API文件。

根據應用場景選擇最佳Go框架:考慮應用類型、語言特性、效能需求、生態系統。常見Go框架:Gin(Web應用)、Echo(Web服務)、Fiber(高吞吐量)、gorm(ORM)、fasthttp(速度)。實戰案例:建構RESTAPI(Fiber),與資料庫互動(gorm)。選擇框架:效能關鍵選fasthttp,靈活Web應用選Gin/Echo,資料庫互動選gorm。

針對不同領域的Java框架學習路線圖:Web開發:SpringBoot和PlayFramework。持久層:Hibernate和JPA。服務端響應式程式設計:ReactorCore和SpringWebFlux。即時計算:ApacheStorm和ApacheSpark。雲端運算:AWSSDKforJava和GoogleCloudJava。

Go框架學習的迷思有以下5種:過度依賴框架,限制彈性。不遵循框架約定,程式碼難以維護。使用過時庫,帶來安全和相容性問題。過度使用包,混淆程式碼結構。忽視錯誤處理,導致意外行為和崩潰。
