为Microsoft Embedded Handheld 6.5.3设备开发 - 架构?

时间:2011-06-20 16:31:20

标签: c# windows-mobile design-patterns handheld

我即将启动一个大型项目,其中三个不同的应用程序/来源将查询相同的数据库。

对于WPF,我想我会选择MVVM模式(或者MVP会更有意义吗?),但是当涉及到手持设备时,我对于选择哪种模式/结构我一无所知。是否有可能在这样的设备上进行某种结构化?

任何人都有这方面的经验吗? : - )

感谢任何帮助/提示!

/博

1 个答案:

答案 0 :(得分:2)

如果您计划将Windows Mobile 6.5与.NET Compact Framework 3.5 SP1一起使用(在Visual Studio 2008中),则最常用的方法是使用Windows窗体(Compact)。如果您打算使用C ++,您可以忽略其余的答案,因为我不确定C ++的最佳实践是什么。

Windows Forms for .NET CF类似于完整的框架Windows窗体,但在功能和开箱即用的工具方面更加局限。传统的Windows Mobile平台实际上没有WPF / Silverlight / MVVM可供选择,但如果你很勇敢,你可以试着推出自己的MVVM类型框架,但我可能不会建议MVVM在WPF中运行得更好或Silverlight,可能无法映射到Windows窗体以及其他选项。

.NET CF Windows窗体有几个MVC或MVP示例或基本框架,但我还没有看到一个真正功能齐全的版本。您可以从Patterns& amp; amp; amp; amp;微软的实践团队,但我不确定我会走这条路,因为它可能过于复杂。搜索谷歌“Windows Mobile MVC或MVP”。很多时候MVC / MVP示例只显示一个屏幕,它不会让您知道作者打算如何处理应用程序屏幕转换,全局事件等。

我可能会建议MVC上的MVP模式,因为MVP适用于Windows Forms。使用Forms可能会让MVC有点尴尬,除非你非常小心。这是我在.NET CF中使用MVP在Compact Framework上发现的多屏幕应用程序的最佳示例:

https://github.com/derickbailey/appcontroller.cf

这是一个很好的例子,因为它使用了现代最佳实践,如IoC和UI事件聚合。此示例的另一个好处是它为良好的单元测试和UI开发的良好实践奠定了基础。