2014-03-05 66 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的东西。

所有的都是健康社区的优秀开源项目。我建议与一对夫妇写一个中小型应用程序。他们都有很好的文档,但源代码可以提供进一步的洞察力。