大多数开发人员在处理大型应用程序时如何处理ASP.NET MVC中的Typed Views?我们正在考虑将特定于View的模型放在Models文件夹中,然后将所有域对象放入一个单独的项目中。这样我们的控制器可以轻松地将域对象添加到类型化视图,而域对象不需要知道视图布局本身。
例如,如果我们有一个Employee对象:
然后我们的员工视图可能会使用ViewEmployeeModel对象:
这是一种明智的做法吗?有没有更好的方法来完成同样的事情?这看起来有点奇怪,因为我基本上有两个模型(一个用于视图,一个用于业务对象),但是它不比使用无类型视图更好吗?
答案 0 :(得分:9)
我通常这样做,因为:
答案 1 :(得分:3)
没有评论的声誉,但克雷格是对的。它是Model-View-ViewModel模式的变体。 Los Techies上有一篇很好的文章。
该文章还使用了mgroves指出的AutoMapper代码,因此您应该能够一举两得。
答案 2 :(得分:1)
我认为这是一种非常明智的做法。可能对您有帮助的一件事是AutoMapper。
答案 3 :(得分:1)
看起来很好,你的优点是模型只包含视图所需的信息,而不是很多讨厌的业务逻辑函数/值。