gpt4 book ai didi

asp.net-mvc - asp.net MVC 应该用 View 模型封装域模型吗?

转载 作者:行者123 更新时间:2023-12-01 17:57:29 27 4
gpt4 key购买 nike

我见过很多 MVC 示例,其中域对象直接传递给 View ,如果您的 View 很简单,这会很好地工作。

常见的替代方案是拥有一个与域模型具有所有相同属性的 View 模型以及您的 View 可能需要的任何额外属性(例如“confirmPassword”)。

在进行太多阅读和发现 AutoMapper 之前,我开始创建自己的 View 模型变体,其中域对象(或多个域对象)只是 View 模型的属性。

我是不是做了坏事?这种方法可以带来什么问题或好处?在什么情况下这种做事方式可能有效?

最佳答案

将域模型直接暴露给 View 本身并没有什么坏处。主要风险来自于暴露您无意的属性,例如 Employee 对象上的薪资字段。如果您返回 JSON,请务必注意这一点。

另一件需要注意的事情是当您从编辑表单绑定(bind)回来时。您应该了解具体的risks所涉及的。基本上,恶意用户可能会将字段添加到 POST 中,而这些字段恰好与您不想编辑的字段相匹配。我总是绑定(bind)到一个中间对象,该对象在将其映射回域之前传递到服务中。

关于asp.net-mvc - asp.net MVC 应该用 View 模型封装域模型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2597363/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com