asp.net-mvc – 视图模型和数据传输对象之间的区别是什么?
|
我把这个问题基于Fowler PoEAA。由于你熟悉这个文本,ASP.NET MVC中使用的ViewModel不是DTO?为什么或者为什么不?谢谢。 解决方法它们提供相似的目的(封装应用程序的另一层的数据),但是它们有不同的原因。> DTO的目的是减少应用层之间的呼叫数,特别是当那些呼叫是昂贵的(例如分布式系统)时。 DTO几乎总是可序列化的,并且几乎不包含任何行为。 例如,您正在开发电子商务网站。 CreateCustomer和AddCustomerAddress在数据库级别是单独的操作,但是出于性能原因,您可能希望将其数据聚合到NewCustomerWithAddressDto中,以便您的客户端只需要进行一次往返服务器,并且不需要关心服务器可能正在做一堆不同的事情与数据包。 例如,在同一个电子商务应用程序中,您的CustomerModel是在“新客户”视图上显示的错误“形状”。对于初学者,您的视图有两个表单字段供您的用户输入和确认其密码,而您的CustomerModel不包含密码字段!您的NewCustomerViewModel将包含这些字段,并且根据MV *的风格,可能负责一些表示逻辑(例如显示/隐藏视图的部分)和基本验证(例如,确保两个密码字段匹配)。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在asp.net中使用eval(“”)
- asp.net-mvc – 在Visual Studio 2015中的ASP.NET MVC 5项目
- QueryString与ASP.NET MVC 6锚点标签助手
- asp.net – 我可以在服务器端调用CustomValidator方法而无需
- asp.net-mvc – 如何使用Entity Framework和Membership表初
- asp.net-mvc-3 – Editor用于收集我的模型中的项目
- asp.net-mvc – ASP.Net身份登录重定向强制协议(Https)
- asp.net-mvc-4 – 使用WebAPI进行搜索
- asp.net-mvc-3 – asp.net mvc 3中的自定义错误页面
- Asp.Net Webforms Vs Asp.Net WebSite(Razor)Vs Asp.Net MV
- asp.net – SignalR(Hub)可以发送除信号制作者之
- asp.net – 用于Active Directory帐户的Oauth 2令
- ASP.NET Web应用程序本地化的最佳实践
- asp.net-mvc – 授权属性不工作MVC 5
- 从VS发布到Azure时无法更改目标运行时
- 更新映像而不会闪烁ASP.NET C#
- asp.net-mvc – 用于OpenID OAuth简单身份验证的
- asp.net-mvc – 当它被称为DocumentationControl
- asp.net-mvc – 如何在ASP.NET MVC中实现分页?
- asp.net-mvc-3 – 模型binder属性类型int的问题
