[英]C# MVVM application frameworks for Windows (Desktop) and Windows Phone 8
請向我建議一些好的MVVM和IOC應用程序框架,這些框架可以最大程度地提高Windows 7/8和Windows Phone 8之間的代碼共享(將來可能還會用於現代UI應用程序)
桌面應用程序將基於WPF,電話應用程序將基於XAML + C#。
整個應用程序將由可從組件中動態枚舉的可插拔組件組成。
我們還希望使用MVVM的純粹版本,其中Model,View和ViewModel可以駐留在其自己的獨立項目中。 我們還需要具有從多個子視圖組成一個視圖的能力,這些子視圖可以駐留在它們自己的程序集中。
MvvmCross - Stuart的博客 , 視頻 , jabbr室
MvvmCross是為針對Xamarin.iOS,Xamarin.Android,WindowsPhone,Windows Store,WPF和Mac的開發量身定制的Mvvm框架。 就個人而言,即使您僅針對WPF,WP和Windows Store,它仍然是一個不錯的框架。
它具有用於跨平台組件的插件模型,實現了自己的IoC容器,並且具有Messenger以及其他一些很酷的功能。 MvvmCross也為不同的平台實現了綁定,因此可以通過綁定做一些很酷的事情,請參見Rio 。
Caliburn Micro以XAML技術為目標,即WPF,SL,WP,WStore。 它有很多約定,例如通過將按鈕x:Name="Send"
與視圖模型上的Send方法進行匹配,來將按鈕自動綁定到方法。 所有約定都是可配置的。 CM還實現了它自己的IoC容器並具有一個Messenger。
QuickCross-輕型,僅代碼的Mvvm框架。 有趣,值得一看。
MvvmLight-也很出色,提供了基本的Mvvm東西。
都是具有健康社區的優秀開源項目。 我建議與幾個人一起編寫一個中小型應用程序。 他們都有出色的文檔,但是源代碼可以提供進一步的見解。
我不知道您的應用程序是什么樣子,但是我要做的第一件事就是使用三層體系結構開發WPF應用程序,以便該應用程序的“后台”部分(即服務器端)公開WCF服務。只需開發一次,即可供所有客戶端(Windows Phone,WPF,Modern UI應用...)使用。
然后對於客戶端,我建議使用MVVM light Toolkit的PCL 版本 。 我尚未測試PCL版本,但我始終推薦此庫用於MVVM開發。
話雖這么說,如果您對“可插拔”的要求很高,並且不想從頭開始構建它,則可能需要看一下Prism 。 我還沒有機會進行測試,但是值得一試,因為WPF / Silverlight / WP7方案中都支持它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.