6

私はWPFアプリケーションを開発しました。ウィンドウから継承するメインウィンドウ、タブコントロール、およびユーザーコントロールから継承するこのタブコントロールの多くのタブアイテムがあります。すべての tabitem には、C# ですべてのビジネス ロジックをコーディングする独自の cs ファイルと、UI の開発が行われる XAML ファイルがあります。また、LINQを介して接続するデータベースを備えたSQL Serverもあります。

したがって、アプリケーションで使用するコントローラーの選択について書く必要があります。手動でコントローラーをプログラムしたことがなく、私の場合、ViewModel がコントローラーのように動作すると思っていたので、ここで混乱します。これは正しいでしょうか?ViewModel はコントローラーのように動作できますか?

4

2 に答える 2

8

コントローラーは、関連付けられたビューにコマンドを送信して、モデルのビューの表示を変更できます (ドキュメントをスクロールするなど) 。また、モデルにコマンドを送信してモデルの状態を更新することもできます (ドキュメントの編集など)。モデル_ビュー_コントローラー

ビューモデルは「ビューのモデル」であり、ビューとビュー データ バインディングのターゲットであるモデルとの間の仲介にも役立つビューの抽象化を意味します。これは、モデル情報をビュー情報に変更し、コマンドをビューからモデルに渡すコンバーターとして機能する (MVC パターンの) コントローラーの特殊な側面と見なすことができます。ビュー モデルは、パブリック プロパティ、コマンド、および抽象化を公開します。モデル_ビュー_ビューモデル

MVVMC (MVC + MVVM)の導入は、多くの類似した View-ViewModel のペア (ユース ケース) を駆動する場合に必要です。その後、コントローラーを導入できます。Model_View_ViewModel_Controller

于 2013-06-19T05:56:16.380 に答える
4

最も単純なケースでは、ViewModel に「コントローラー」ロジックを実装させます。大規模なアプリケーションの場合、別のコントローラー クラスを使用する MVVMC パターンを使用することがあります。ブロゴスフィアでは、MVVM よりも MVVMC を使用することが最近多くサポートされています。

MVVM は死んだ、万歳 MVVMC!
MVMMC – MVVM はコントローラーを成長させます

于 2013-05-08T16:58:29.850 に答える