ビューレイヤーとコントローラレイヤーの間でオブジェクトを渡すとき、強く型付けされたビューモデルとJSONオブジェクトを使用するのは混乱します。 JSONオブジェクトを使用するとMVVMパターンに従い、レイヤーを疎結合した状態に保ちます。どんなフィードバックも高く評価されます。厳密に型指定されたビューモデルを使用するか、JSONオブジェクトを使用する場合
答えて
両方のアプローチに長所と短所があります。
一方で、ゆるやかな型付けとは、場所全体に同じ型を渡すことができ、消費者は必要なフィールドを消費することができるということです。これは、シンプルなアーキテクチャを備えているため、プログラムをシンプルに見せることができます。
一方、それはフィールドの解釈をコンシューマにプッシュすることを意味し、複雑なデータ型を持つ場合、これは消費者が扱うことができなくなる悪夢になります。
間違いをしないでください:タイプセーフティどこかでに対処します。あなたの選択はあなたのものです。
私は個人的には、明確に定義されたインターフェースを持つ強く型付けされたシステムを好みます。
EDIT
Randolphoは、はい私は強く型付けされた オブジェクトに対する選好について同意するものとします。ほとんどのアプリケーションでは、厳密に型指定された オブジェクトをコントローラに戻します。ここでは、厳密に型指定された 「ビューモデル」オブジェクトにマップし、そのビューモデルを部分的に /viewに渡します。この現在のプロジェクトでは、REST呼び出しを行い、JSON オブジェクトを返しています。これは、私が JSONまたは型付きオブジェクトを使用しているかどうか疑問に思った原因です。 - derek kenney
REST Webサービスを作成している場合は、必ずビューからJSONを返す必要があります。
しかし、内部的には、JSONとの間でシリアライズされた強く型付けされたデータ型を使用することをお勧めします。
Randolpho、はい強く型付けされたオブジェクトの設定に同意します。ほとんどのアプリケーションでは、厳密に型指定されたオブジェクトをコントローラに戻します。ここでは、厳密に型指定された「ビューモデル」オブジェクトにマップし、そのビューモデルを部分ビューに渡します。この現在のプロジェクトでは、REST呼び出しを行い、JSONオブジェクトを取得しています。これがJSONや型付きオブジェクトを使用しているのか疑問に思ったのです。 –
@derekkenney私は編集しました。 – Randolpho
ビューモデルは、HTMLを直接返すコントローラアクションでよく使用されます。 JSONはAJAX呼び出しから消費される方が適しています。つまり、knockoutjsやbackbonejsなどのクライアント側のUIフレームワークでJSONを使用することもできます。
ありがとうダーリン。意味あり。私の現在のプロジェクトでは、JavaScriptのAjax呼び出しを介してアクション呼び出しを行い、JSを介してHTMLにバインドしているJSONオブジェクトを返すようにしています。私はちょうどこれが私がvsをやって、真っ直ぐなHTMLを返すべきだったかどうか分からなかった。 –
- 1. VB.Netプロジェクトで厳密に型指定されたデータセットを使用する
- 2. 厳密に型指定されたビューを使用しない検証
- 3. DataTableを厳密に型指定されたオブジェクトのリストに変換する
- 4. 厳密に型指定されたモデルを使用するときにクエリ文字列からプロパティを隠す
- 5. LINQ to Entitiesの厳密に型指定されたオブジェクトを初期化する
- 6. MVC 4とView Models(厳密に型指定された)を使用してチェックボックスのグループをレンダリングするには
- 7. 厳密に型指定されたリポジトリの戻り値の型
- 8. 1つのMVCビューに厳密に型指定された2つのモデルを使用する
- 9. C++の厳密に型指定された列挙を正しく使用するには?
- 10. Entity Frameworkを持つ、厳密に型指定されたASP.NET MVC
- 11. MVC3ヘルパーから厳密に型指定されたモデルを取得する
- 12. 厳密に型付けされているか否定型か厳密に型付けされているか
- 13. Automapper - NameValueCollectionを厳密に型指定されたコレクションに変換する
- 14. 厳密に型指定されたオブジェクトにJSONを変換してください
- 15. Telerik UI Radgrid厳密に型指定されたGridTemplateColumnの問題
- 16. 厳密に型指定されたデータセットのシリアル化
- 17. asp.net mvcの厳密に型指定されたURL
- 18. MVC 3と厳密に型指定されたビュー
- 19. 厳密に型指定されたFaultExceptionsが機能しない
- 20. クリスタルレポートのデータソースとして厳密に型指定されたデータセット
- 21. 厳密に型指定されたデータセットの問題
- 22. 厳密に型指定されたビューのエラー
- 23. 厳密に型指定されたビューでリストボックスを作成しますか?
- 24. MVCで厳密に型指定されたデータにアクセスする方法
- 25. App.Configを使用してクラスライブラリ内の厳密に型指定されたデータセットの動的接続文字列
- 26. Pythonに厳密に型指定されたcsvリーダーがありますか?
- 27. 自動生成する、厳密に型指定されたのAppSettingsクラス
- 28. 厳密に型指定された言語とは何ですか?
- 29. CurrentPage.Idの厳密に型指定されたバージョンとは何ですか?
- 30. MySqlまたはMariaDBで厳密なモードを使用する場合
JSon Ajaxなど、クライアント側で操作する必要があるものはさらに多くあります。ダイナミックなコンテンツ、あなたはあなたの復帰を正確に知らない。あなたのコントローラーが何を返しているかを正確に知っているときに、強く型付けされたビュー。 –