asp.net-mvc – 域vs DTO vs ViewModel – 如何和何时使用它们?

在具有域层(DL)/业务(服务)层(BL)/表示层(PL)的多层项目中,将实体传递到表示层的最佳方法是什么?
DO => Domain Object;
DTO = Domain Transfer Object;
VM => View Model;
V => View;

选项1:

DL => DO => BL => DTO => PL => VM => V

这个选项似乎是最佳实践,但对于曼谷而言似乎很重。

选项2:

DL => DO => BL => DTO => PL => V

这个选项看起来不是很好的做法,但是由于DTO与VM几乎完全相同,所以我们可以将它直接传递给View,而且实现起来并不方便。

这个选项对于多种布局也是可靠的,例如,对于移动设备,我可能需要更少的信息从BL,所以我需要一个不同的虚拟机这个特定的布局?

解决方法

可以通过DTO到视图。如果您需要更改或增强DTO,则创建一个viewmodel。常见的情况是添加链接viewmodel也可以将DTO引用为复杂属性

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...