1

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

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

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

任何帮助/提示表示赞赏!

/ 博

4

1 回答 1

2

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

.NET CF 的 Windows 窗体类似于完整的框架 Windows 窗体,但在功能和开箱即用工具方面受到更多限制。对于旧版 Windows Mobile 平台,确实没有现成的 WPF/Silverlight/MVVM 选项,但如果你有勇气的话,你可以尝试推出自己的 MVVM 类型框架,但我可能不建议这样,因为 MVVM 与 WPF 配合得更好或 Silverlight,并且可能无法映射到 Windows 窗体以及其他选项。

有几个 MVC 或 MVP 示例或 .NET CF Windows 窗体的基本框架,但我还没有看到一个功能齐全的。您可以尝试 Microsoft 的模式与实践团队为 Windows Mobile 提供的“智能客户端软件工厂”,但我不确定我是否会走这条路,因为它可能过于复杂。在 Google 上搜索“Windows Mobile MVC 或 MVP”。很多时候,MVC/MVP 示例只显示单个屏幕,这并没有让您了解作者打算如何处理应用程序屏幕转换、全局事件等。

我可能会建议在 MVC 上使用 MVP 模式,因为 MVP 与 Windows 窗体配合得很好。MVC 使用 Forms 可能会有点尴尬,除非你非常小心。这是我在 .NET CF 中使用 MVP 在 Compact Framework 上找到的多屏应用程序的最佳示例:

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

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

于 2011-06-20T19:51:20.773 回答