私は最近、Web 開発者として働き始めました。ASP .NET MVC 4 と NHibernate を使用しています。
私の職場では、ビューモデルを使用して、コントローラーとビューの間でデータをやり取りするように厳密に作られています。また、ビューモデルにはモデルのオブジェクトを含めることは想定されていません。コントローラーとビューの間の一種の層であることを理解しています。
しかし、モデルのオブジェクトをビューに直接送信できる場合でも (ほとんどの場合)、viewmodel クラスを記述するのは反復的で冗長であることがわかりました。
たとえば、注文を表示したい場合は、コントローラーのアクションでこれを行うことができます -
return View(Repository.Get<Order>(id));
しかし代わりに、ビューモデルを作成し、フェッチした注文を入力してビューに渡す必要があります。
ですから、私の質問は、モデルのオブジェクトをそのまま使用できる場合、ビューモデルを記述することはどのような目的に役立つのでしょうか?