1

BusinessLogic および DataAccess レイヤーで使用されるモデル (エンティティ) DLL プロジェクトを含む MVC4 アプリケーションがあります。MVC コントローラーは、いくつかのマッパー拡張メソッドを使用して ViewModel (ビューにバインドされている) をモデルに変換し、Model オブジェクトを BusinessLogic レイヤーに渡します。

私の質問は次のとおりです。KnockoutJS のようなクライアント側の機能が必要な場合、KnockoutJS ViewModel の追加セットを作成することをお勧めしますか? ViewModel の保守性と頻繁な変更が気になります。

4

2 に答える 2

2

いいえ、knockoutJSはクライアント側のライブラリであるため、サーバーがデータを送信する方法を実際に指示するべきではありません。ビューモデルにレンダリングに必要なすべての関連情報が含まれている限り、必要なのはそれだけです。クライアントがそれをどのように処理するかは、サーバーとはまったく関係ありません。

knockoutJS固有のビューモデルを作成することで、サーバーの応答をクライアントに本質的に結合することはお勧めできません。これは、別のクライアントに変更した場合はどうなるでしょうか。複数のクライアントをサポートしたい場合はどうなりますか?

代わりに、KnockoutJSに固有のビューモデルのクライアント側表現を作成することをお勧めします。

于 2012-12-21T01:33:57.553 に答える
0

KnockoutJSに固有の(または他のクライアントが使用する)ViewModelを作成することをお勧めします。

サーバー側のサイト内で使用されているViewModelは、サイトで作成および使用されているため、簡単に変更できるはずだと思います。その上、何かが正しくないかどうかを知らせるコンパイラがあります。

しかし、これらのモデルをクライアントに公開すると、これらは変更されるべきではない、または少なくとも頻繁に変更されるべきではない、もう少し契約になります。

于 2012-12-21T01:25:44.047 に答える