wpfアプリケーションでは、ビューモデルの責任は何ですか?彼はすべてを管理したり、ビューを表現したり、メッセージ/イベントをビジネスレイヤーに送信したり、そこから情報を得ることはできますか?ビューモデルにロジックが含まれている必要がありますか?
6
A
答えて
8
短い答え、はい。
長い答えは...モデル - ビュー - ViewModelに(MVVM)パターンの
主な目的は以下のとおりです。あなたのビューロジックの
- 許可ユニットテスト。これらはViewModelレイヤーに適用されたユニットテストで、ビューが関連付けられていない状態で実行されます。
- XAMLファイルに関連付けられているコードビハインドの量を最小限に抑えることによって、開発者/デザイナーのワークフローを容易にします。
MVVMパターンは、MVCとそのUIパターンと同じ方法で、ビューロジックとビジネスロジック間の懸念を分離します。しかし、上記の2つの点はMVVMパターンを実際に定義するものです。
ここで、ビジネスロジックの場所を考えます。 ViewModelに配置した場合、#1 &#2は有効ですか?はい。別のレイヤーに配置すると、#1と#2は有効ですか?はい。
したがって、どちらの場合でも、MVVMの2つの主要な目標を達成しています。どのルートを実際に使用するかは、アプリケーションの複雑さとそれに取り組む開発者の数によって異なります。これらの要素が両方とも増加すると、3つのレイヤーを持つことができます。
関連する問題
- 1. エラーコード:1241オペランドに1列が含まれている必要があります。
- 2. MVVM、モデルまたはビューモデル(コントローラ)にロジックを配置する必要があります
- 3. ロジックがトリガアクションまたはエントリに入る必要がありますか?
- 4. Unixスクリプトでロジックを追加する必要があります。
- 5. 編集用の部分ビューモデルには、MetadataTypeで指定されたすべてのフィールドが含まれている必要がありますか?
- 6. main()はハンドラを含むすべてのスクリプトに含まれている必要がありますか?
- 7. iPhone:どのコントローラがCRUDロジックを処理する必要がありますか?
- 8. HTML5にtype = "value"を含める必要がありますか?
- 9. 画像にaltを含める必要がありますか?
- 10. ヘッダーファイルにソースコードを含める必要がありますか?
- 11. ActionbarSherlock 4.0 Deploy:何が含まれる必要がありますか?
- 12. iTunes Connect CFBundleShortVersionShortにはより高いバージョンが含まれている必要があります
- 13. ASP.NET MVC 3 RESTful Routing:RouteDataにはActionという項目が含まれている必要がありますか?
- 14. 異なるビューでビューモデルを再利用する必要がありますか?
- 15. WebAPIルートにはRouteDataに 'action'が含まれている必要がありますか?
- 16. RFC 1738:URL:ホストにドットが含まれている必要がありますか?
- 17. RESTful Webサービスでは、応答DTOに子DTOが含まれている必要がありますか?
- 18. HTTP許可ヘッダーに「OPTIONS」が含まれている必要がありますか?
- 19. なぜtype = htmlガジェットにCDATAセクションが含まれている必要がありますか?
- 20. ファクトリ・パターンにバリデーション・ロジックが含まれているか
- 21. Angular2 - 例外:Route configには正確に1つの "component"が含まれている必要があります
- 22. JSONにnull値を含める必要があります
- 23. ビューモデルにブートストラップの定義が含まれていません
- 24. 一般に、要素を挿入する前に要素がセットに含まれているかどうかを確認する必要がありますか?
- 25. WebサーバーにReportViewerがインストールされている必要がありますか?
- 26. MVCパターン:ビューにはモデルへの参照が含まれている必要があります
- 27. JSONテキストに少なくとも2つのオクテットが含まれている必要があります
- 28. 制約には最初のレイアウト項目が含まれている必要がありますNSLayoutConstraint
- 29. プロパティファイルのPhingプロパティに複数の値が含まれている必要があります
- 30. 要求ごとにcsrfトークンを含める必要がありますか?
はい - http://stackoverflow.com/questions/1405739/mvvm-tutorial-from-start-to-finish – Josh