我即将启动一个大型项目,其中三个不同的应用程序/来源将查询相同的数据库。
第一个应用程序将是一个在PC上使用的WPF应用程序(duh)
第二个将是这个手持设备som PSION:http://www.psion.com/us/products/handheld/ep10_specifications.htm
最后会有一个网站(我认为是MVC3)
对于WPF,我想我会选择MVVM模式(或者MVP会更有意义吗?),但是当涉及到手持设备时,我对于选择哪种模式/结构我一无所知。是否有可能在这样的设备上进行某种结构化?
任何人都有这方面的经验吗? : - )
感谢任何帮助/提示!
/博
答案 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开发的良好实践奠定了基础。