asp.net-mvc – 域vs DTO vs ViewModel – 如何和何时使用它们?
发布时间:2020-12-15 18:40:27 所属栏目:asp.Net 来源:网络整理
导读:在具有域层(DL)/业务(服务)层(BL)/表示层(PL)的多层项目中,将实体传递到表示层的最佳方法是什么? DO = Domain Object;DTO = Domain Transfer Object;VM = View Model;V = View; 选项1: DL = DO = BL = DTO = PL = VM = V 这个选项似乎是最佳实践,但对于
在具有域层(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引用为复杂属性。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- asp.net后台cs中的JSON格式变量在前台Js中调用方
- asp.net-mvc-3 – 在if语句中的Asp.net MVC 3 Ra
- asp.net – IControllerFactory …没有为名称’R
- asp.net-mvc – 在视图中转义JavaScript字符串文
- asp.net – 调试时编辑源代码
- asp.net – 自动完成扩展程序 – 滚动条导致结果
- asp.net – aspx.designer.cs它是如何工作的?
- asp.net-mvc – 对于MVC,REST是强制性的吗?
- asp.net – HttpCookieCollection.Add和HttpCook
- 实体框架4 – ASP.NET MVC 3应用程序使用Ninject
热点阅读