2011-12-19 6 views
2

ビューレイヤーとコントローラレイヤーの間でオブジェクトを渡すとき、強く型付けされたビューモデルとJSONオブジェクトを使用するのは混乱します。 JSONオブジェクトを使用するとMVVMパターンに従い、レイヤーを疎結合した状態に保ちます。どんなフィードバックも高く評価されます。厳密に型指定されたビューモデルを使用するか、JSONオブジェクトを使用する場合

+0

JSon Ajaxなど、クライアント側で操作する必要があるものはさらに多くあります。ダイナミックなコンテンツ、あなたはあなたの復帰を正確に知らない。あなたのコントローラーが何を返しているかを正確に知っているときに、強く型付けされたビュー。 –

答えて

1

両方のアプローチに長所と短所があります。

一方で、ゆるやかな型付けとは、場所全体に同じ型を渡すことができ、消費者は必要なフィールドを消費することができるということです。これは、シンプルなアーキテクチャを備えているため、プログラムをシンプルに見せることができます。

一方、それはフィールドの解釈をコンシューマにプッシュすることを意味し、複雑なデータ型を持つ場合、これは消費者が扱うことができなくなる悪夢になります。

間違いをしないでください:タイプセーフティどこかでに対処します。あなたの選択はあなたのものです。

私は個人的には、明確に定義されたインターフェースを持つ強く型付けされたシステムを好みます。

EDIT

Randolphoは、はい私は強く型付けされた オブジェクトに対する選好について同意するものとします。ほとんどのアプリケーションでは、厳密に型指定された オブジェクトをコントローラに戻します。ここでは、厳密に型指定された 「ビューモデル」オブジェクトにマップし、そのビューモデルを部分的に /viewに渡します。この現在のプロジェクトでは、REST呼び出しを行い、JSON オブジェクトを返しています。これは、私が JSONまたは型付きオブジェクトを使用しているかどうか疑問に思った原因です。 - derek kenney

REST Webサービスを作成している場合は、必ずビューからJSONを返す必要があります。

しかし、内部的には、JSONとの間でシリアライズされた強く型付けされたデータ型を使用することをお勧めします。

+0

Randolpho、はい強く型付けされたオブジェクトの設定に同意します。ほとんどのアプリケーションでは、厳密に型指定されたオブジェクトをコントローラに戻します。ここでは、厳密に型指定された「ビューモデル」オブジェクトにマップし、そのビューモデルを部分ビューに渡します。この現在のプロジェクトでは、REST呼び出しを行い、JSONオブジェクトを取得しています。これがJSONや型付きオブジェクトを使用しているのか疑問に思ったのです。 –

+0

@derekkenney私は編集しました。 – Randolpho

0

ビューモデルは、HTMLを直接返すコントローラアクションでよく使用されます。 JSONはAJAX呼び出しから消費される方が適しています。つまり、knockoutjsbackbonejsなどのクライアント側のUIフレームワークでJSONを使用することもできます。

+0

ありがとうダーリン。意味あり。私の現在のプロジェクトでは、JavaScriptのAjax呼び出しを介してアクション呼び出しを行い、JSを介してHTMLにバインドしているJSONオブジェクトを返すようにしています。私はちょうどこれが私がvsをやって、真っ直ぐなHTMLを返すべきだったかどうか分からなかった。 –

関連する問題