2009-07-16 13 views
1

私が過去に書いたすべてのWinFormsウィザードは、UIとモデルの結合度が高いです。つまり、個々のページでは、[次へ/前へ]ボタンの有効化/無効化、[次へ]ボタンの押下などに反応する方法などがわかります。これはテストするのが難しくなります。最初にたくさんの足場を置きなさい。WinFormsで書かれたウィザードのMVC、MVP、またはMVVMパターンを使用していますか?

私は最近MVC(ASP.MVCの形で)を使用していますが、簡単にテストすることができます。私もWPFで遊んだことがあります。と思います。私はM-V-VMの周りに頭を上げています。

私はWinFormsのM-V-Pパターン(つまりWPFスタイルのデータバインディングなし)に苦しんでいます。特に、私はウィザードを実装する必要があります。

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

これはC#のWinForms(WPFではなく)にあります。 .Net 2.0を推奨します。

答えて

1

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

非常によくわかりました。そして、プレゼンタークラスのそれぞれに対して単体テストを書くのはかなり簡単です。

基本となるウィザードフレームワークでは、MVVMまたはMVPは使用されません。これは単なるWinFormsコードです。

0

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

+0

あまりにも多くの単語、実際の背景が十分ではありません... –

+0

これは、SCSFの単語が多すぎます。実際のサンプルコードが不十分です。生成されたコードはカウントされません。また、MVC/MVP/MVVMを_wizard_までフックする方法を具体的に探しています。 –

+0

質問を読んだときに私は何とかウィザードビットを見逃しました - ごめんなさい。私は、カップリングの程度が高いことをより詳細に説明する必要があると思います。私は、ウィザードで作業するときに便利なコマンドパターンが記述されていることを知っています。 – RichardOD

関連する問題