2014-03-05 102 views
2

請建議我一些好的MVVM和IOC應用框架,可以最大限度的Windows 7/8和Windows Phone 8之間共享代碼(也可能爲今後現代UI應用程序)的Windows(桌面)和Windows Phone C#MVVM應用框架8

桌面應用程序將基於WPF,電話應用程序將基於XAML + C#。

整個應用程序將由可從插件程序中動態枚舉的可插入組件組成。

我們也想一起去MVVM的純粹的版本,其中模型,視圖和視圖模型可以駐留在自己的獨立項目。我們還需要能夠從可以駐留在它們自己的程序集中的多個子視圖組成視圖。

回答

0

我不知道你的應用程序看起來像什麼,但我會做的第一件事是使用3層架構,因此「後臺」部分(即服務器端)的開發WPF應用程序應用程序公開了一次開發的WCF服務,並且可以被所有客戶端使用(Windows Phone,WPF,Modern UI應用程序...)。

那麼對於客戶端,我建議使用PCLrelease of MVVM light Toolkit。我還沒有測試過PCL版本,但我總是推薦這個庫用於MVVM開發。這就是說,如果你所擁有的「可插拔」要求很強,而你又不想從頭開始構建它,那麼你可能需要看看Prism。我沒有機會測試它,但值得一試,因爲它在WPF/Silverlight/WP7場景中受支持。

3

MvvmCross - Stuart's blogvideosjabbr room

MvvmCross是發展目標Xamarin.iOS,Xamarin.Android,WindowsPhone的,Windows應用商店,WPF,和Mac量身定製的MVVM框架。就個人而言,即使您只針對WPF,WP和Windows應用商店,它仍然是一個優秀的框架。

它具有用於跨平臺組件的plugin模型,實現了它自己的IoC容器,並且有一個使者,以及其他很酷的東西。 MvvmCross也爲不同的平臺實現了綁定,因此可以使用綁定來做一些很酷的事情,參見Rio

Caliburn Micro - docs

卡利微瞄準XAML技術,WPF,SL,WP,WStore。通過將按鈕x:Name="Send"的名稱與視圖模型上的發送方法進行匹配,可以實現諸如將按鈕自動綁定到方法等許多約定。所有的約定都是可配置的。 CM還實現了它自己的IoC容器並有一個使者。

QuickCross - 只是一個輕量級的,代碼,MVVM框架。有趣和值得一看。

MvvmLight - 也非常好,並提供必要的MVVM的東西。

所有的都是健康社區的優秀開源項目。我建議與一對夫婦寫一箇中小型應用程序。他們都有很好的文檔,但源代碼可以提供進一步的洞察力。