あなたは(のVisual Studio 2008で).NET Compact Frameworkの3.5 SP1と一緒のWindows Mobile 6.5を使用することを計画している場合は、最も一般的な方法は、Windowsフォーム(コンパクト)を使用することです。 C++の使用を計画している場合は、C++のベストプラクティスがわからないため、この回答の残りの部分を無視することができます。
Windows Forms for .NET CFは、フルフレームワークのWindowsフォームと似ていますが、機能や使い慣れたツールでははるかに制限されています。従来のWindows Mobileプラットフォームでは簡単に利用できるWPF/Silverlight/MVVMオプションはありませんが、あなたが勇気があれば独自のMVVMタイプのフレームワークを動かそうとすることはできますが、MVVMがWPFまたはSilverlightに変換することができ、その他のオプションと同様にWindows Formsにはマップできません。
.NET CF Windowsフォームには、いくつかのMVCまたはMVPの例または基本フレームワークがありますが、実際にフル機能のものは見ていません。マイクロソフトのパターン&プラクティスチームから、Windows Mobile用の「スマートクライアントソフトウェアファクトリ」を試すことができますが、それは過度に複雑になる可能性があるため、私はそのルートに行くのかどうかはわかりません。 "Windows Mobile MVCまたはMVP"についてgoogleを検索してください。多くの場合、MVC/MVPの例では1つの画面しか表示されないため、作者がアプリケーションの画面遷移、グローバルイベントなどをどのように処理しようとしているのか分かりません。
MVCパターンMVPはWindowsフォームでうまく動作するためです。あなたが非常に慎重にしない限り、MVCはFormsでやや厄介なことがあります。それはIoCのような近代的なベストプラクティスを使用していますので、これは、偉大な例です
https://github.com/derickbailey/appcontroller.cf
と:これは、私は、.NET CFでMVPを使用してCompact Frameworkの上のマルチスクリーンアプリの見つけた最高の一例ですUIイベント集約。この例のもう1つの利点は、優れた単体テストのための段階とUI開発のための良い習慣を設定することです。