1

私が過去に書いたすべての WinForms ウィザードは、UI とモデルの間に高度な結合を持っています。つまり、個々のページは、次へ/前へのボタンの有効化/無効化、次へのボタンが押されたときの反応などについて知っています。ロジックをテストするには、最初にたくさんの足場を組み立てます。

私は最近 MVC (ASP.MVC の形式) を使用しており、テストが簡単であることがわかりました。私も WPF で遊んだことがあり、MV-VM について頭を悩ませていると思います。

WinForms の MVP パターンに苦労しています (つまり、WPF スタイルのデータバインディングはありません)。特に、ウィザードを実装する必要があります。

ページごとにコントローラーがありますか? ウィザード全体を管理するビュー モデル? 他の何か?

これは C# の WinForms (WPF ではない) にあります。.Net 2.0 が推奨されます。

4

2 に答える 2

1

最終的に、MVVM と MVP の間の何かを選択し、WinForms データバインディングとビュー コールバック インターフェイスを組み合わせて使用​​しました。MVVMよりもMVPに近いと思います。各ページにはビューモデル/プレゼンターがあり、ウィザード自体にはフローを管理するための独自のビューモデル/プレゼンターがあります (たとえば、特定のオプションは後のウィザード ページをスキップします)。

これは非常にうまくいき、各プレゼンター クラスの単体テストをかなり簡単に作成できました。

基礎となるウィザード フレームワークは、MVVM または MVP を使用しません。これは単なる昔ながらの WinForms コードです。

于 2009-10-20T09:28:55.553 に答える
0

Smart Client Software Factoryをご覧ください。

于 2009-07-16T07:53:06.950 に答える