0

1つの疑問がありますMVCアーキテクチャでは、モデルを使用する必要がある理由よりも、厳密に型指定されたビューを作成せずに、コントローラーから直接ビューにデータを渡すことができます。

ViewData [""]にデータを保存し、それをビューで使用して情報を表示すると、アプリケーションのパフォーマンスが低下しますか?。?

4

1 に答える 1

2

コレクション(ViewData)にデータを格納することは、技術的には、強く型付けされたモデル(具象クラス)を渡すよりもわずかに遅くなりますが、その差は非常に小さいです。また、メモリフットプリントがわずかに増加します(コレクションとコレクション内のモノのためにメモリが必要なため)が、これも重要ではありません。

強く型付けされたモデルは、コントローラーとビューの間に明確な契約を提供します。私はすべての場合に個人的にそれらを好みます。

コントローラー/ビューコントラクトを表す強力なタイプを作成する必要がないと開発者が感じる単純なビューが存在する可能性があります。その必要性のために、ViewDataが存在します。

ViewDataは、強く型付けされたモデルでは当初想定されていなかった追加のデータを渡すためにも使用されていると思います。このような場合は、ViewDataで余分なデータを渡すのではなく、強い型をリファクタリングすることをお勧めします。

私が見逃しているViewDataの「正当な」使用法があるかもしれませんが、これまでのところ遭遇していません。

于 2012-06-07T07:06:43.667 に答える