我最近开始作为一名网络开发人员工作。我使用 ASP .NET MVC 4 和 NHibernate。
在我的工作场所,我们严格要求使用视图模型在控制器和视图之间来回传输数据。并且视图模型不应该包含模型的任何对象。我知道它是控制器和视图之间的一种层。
但是我发现即使我们可以直接将模型的对象发送到视图(在大多数情况下),编写视图模型类也是重复和多余的。
例如,如果我想显示订单,我可以在控制器的操作中执行此操作 -
return View(Repository.Get<Order>(id));
但相反,我必须编写一个视图模型,用获取的订单填充它,然后将其传递给视图。
所以,我的问题是,当我们可以按原样使用模型的对象时,编写视图模型的目的是什么?