1

重複の可能性:
MVVM を使用する理由

WPF プロジェクトに MVVM を実装しようとしていますが、開始してから、目的のタスクを達成するのが難しいと感じています。

私はMVVMにCaliburn Microを使用しています.ViewModelから他のViewModelプロパティを呼び出すのが難しく、テキストボックスのGotFocusのようなコントロールのイベントを処理することもできません.

MVVM は CodeBehind よりも本当に優れていますか? テスト目的で MVVM を使用していません。

助けてください。

4

1 に答える 1

2

MVVM は自動テストを容易にし、懸念事項を分離することでコードをクリーンに保つのに役立ちます。

自動テストを行わない場合、主に 2 番目の理由が残ります (他にも小さな利点がありますが、これが主な IMO です)。純粋な MVVM で苦労している場合は、ハイブリッド アプローチの使用を検討することをお勧めします。ビュー モデルを可能な限り維持しますが、コードが読みやすくなる場合は、コード ビハインドを使用することを恐れないでください。

忘れないでください: MVVM はツールであり、目的ではありません! それはあなたの人生を難しくするのではなく、楽にするはずです。1 行の GotFocus ハンドラーを回避するためだけに、2 層の間接参照に 50 行のボイラープレート コードを書かなければならない場合は、やり過ぎている可能性があります。

于 2012-09-20T07:11:57.223 に答える