如果你打算使用Windows Mobile 6.5,.NET Compact Framework的3.5 SP1一起(在Visual Studio 2008),最常見的方法是使用Windows窗體(精簡版)。如果你打算使用C++,你可以忽略這個答案的其餘部分,因爲我不確定C++的最佳實踐。
用於.NET CF的Windows Forms與完整的框架Windows Forms相似,但功能和開箱即用的工具更受限制。實際上,舊版Windows Mobile平臺沒有WPF/Silverlight/MVVM選項,但如果您勇敢的話,您可以嘗試推出自己的MVVM類型框架,但我可能不會認爲MVVM可以更好地與WPF配合使用或Silverlight,並且可能無法映射到Windows窗體以及其他選項。
有幾個MVC或MVP的例子或基本框架在那裏爲.NET CF窗體,但我還沒有看到一個真正全功能的。您可以從微軟的模式&實踐團隊嘗試Windows Mobile的「智能客戶端軟件工廠」,但我不確定我會走那條路線,因爲它可能過於複雜。搜索谷歌的「Windows Mobile MVC或MVP」。很多時候,MVC/MVP示例只顯示一個屏幕,它並不能讓你知道作者打算如何處理應用程序屏幕轉換,全局事件等。
我可能會建議通過MVC的MVP模式因爲MVP適用於Windows Forms。 MVC對於Forms來說可能有些尷尬,除非你非常小心地做。這是我在.NET CF使用MVP Compact Framework中發現了一個多屏應用的最好的例子:
https://github.com/derickbailey/appcontroller.cf
這是一個很好的例子,因爲它使用像國際奧委會和現代的最佳實踐UI事件聚合。這個例子的另一個好處是,它爲單元測試和UI開發的良好實踐設定了舞臺。