用于WPF和.NETCF3.5开发的MVP或MVVM框架

用于WPF和.NETCF3.5开发的MVP或MVVM框架,wpf,model-view-controller,windows-mobile,prism,mvp,Wpf,Model View Controller,Windows Mobile,Prism,Mvp,我正在为一个断开连接的客户机-服务器平台创建一个架构大纲草案,它涉及多种不同的客户机类型。我需要支持:网络客户端、桌面工作站和移动设备(现在是WM6.x,以后是Android) 我正在寻找一个基于MVP或MVVM的框架,它可以让我在客户端之间尽可能多地重用代码和体系结构,同时: 使用WPF进行桌面开发 使用.NET CF 3.5进行Windows Mobile开发 这个框架显然不需要支持Android,但是我正在考虑开发Android客户端(以便于整个平台的维护),因此可移植性将是一项额外的

我正在为一个断开连接的客户机-服务器平台创建一个架构大纲草案,它涉及多种不同的客户机类型。我需要支持:网络客户端、桌面工作站和移动设备(现在是WM6.x,以后是Android)

我正在寻找一个基于MVP或MVVM的框架,它可以让我在客户端之间尽可能多地重用代码和体系结构,同时:

  • 使用WPF进行桌面开发
  • 使用.NET CF 3.5进行Windows Mobile开发
这个框架显然不需要支持Android,但是我正在考虑开发Android客户端(以便于整个平台的维护),因此可移植性将是一项额外的资产

到目前为止,我排除了:

  • Prism(不支持基于WM的移动设备-仅限Windows Phone 7)
  • (不支持WPF)

如果有任何提示有助于进一步研究该主题,我将不胜感激。

在我看来,这将是一个定制框架,包含针对不同客户机类型的混合UI流程。业务逻辑或实体完全可以重用以满足视图的需要

这些MVVM框架适用于Windows Phone 7:

  • (虽然没有做广告,但我看过一个在WP7上使用的演示)
  • (使用.NET的被动扩展)
  • 我个人最喜欢的是ReactiveUI,但是如果你从来没有使用过reactiveextensions,那么一开始它可能会让你头脑发热

    至于UI组合(您提到的Prism),没有很多选项,主要是由于手机上的反射限制。我看过一篇文章,有人在手机上使用基本的MEF,在这种情况下,MEF可能是大多数人所需要的。你可以看看那篇文章


    希望这有帮助。

    MVVM在Windows Mobile+中没有多大意义。NETCF因为您没有INotifyPropertyChanged,并且在WPF中实现模型视图演示器或任何INotifyPropertyChanged支持的框架不会像模型视图模型那样有效

    通过将大部分业务逻辑移动到一个(或多个)以.NETCF为目标的单独类库中,您可以在完整框架和紧凑框架之间共享资产。您可以从完整的框架项目中引用.NETCF库,但不能反过来引用

    查看Daniel Moth的这篇非常好的文章,它描述了如何在compact和full framework之间共享资产:
    我做了同样的研究,得出了以下结论(我还没有实施):

    • 没有任何开源MVVM框架支持.NETCF。你 只能找到MVC或MVP,但不能找到MVVM
    建议:获取支持完整/Desktop.NET的开源MVVM框架的源代码,看看是否可以将其调整(以便重新编译)到.NETCF。我发现以下两个也支持您提到的其他平台:

    除此之外,我看不到任何其他的方法


    嗯,

    这是我想要避免的事情。我不想重新发明轮子。Prism更像是一个应用程序组合框架,而不是一个MVVM框架。它有一些使MVVM更简单的东西,但没有其他一些框架那么多。@Sebastian Zaklada你已经弄明白了。现在我有一个相同的要求,但我真正想要的是Windows Mobile 6.x兼容性-PDT设备事实上的标准是WM 6.x,Windows Phone 7并不意味着用于开发业务应用程序,而是+1,用于提及反应UI。这是我第n次偶然发现它,也许现在是开始使用它的时候了。@Sebastian Zaklada:真的很抱歉。。。我错过了那个要求。这是一个非常严格的要求。有兴趣知道你是否明白了..NETCF5有INotifyPropertyChanged@ChristianResma Helle:INotifyPropertyChanged只是一个接口。如果您选择实现自己的MVVM框架,那么如果它不存在,您就不能自己实现它吗?