<分区>
在 Controller 的 MVC 中,您应该从数据库中获取模型并将其转换为 View 模型,然后再将其发送到 View 。通常使用类似 Automapper 的东西。
我的问题是,如果您需要在 View 中按原样显示模型的所有属性,是否值得创建一个 ViewModel?
如果 Model 和 ViewModel 需要相同,那么创建 ViewModel 会为应用带来一些安全性或好处,还是我们只会增加不必要的复杂性?
<分区>
在 Controller 的 MVC 中,您应该从数据库中获取模型并将其转换为 View 模型,然后再将其发送到 View 。通常使用类似 Automapper 的东西。
我的问题是,如果您需要在 View 中按原样显示模型的所有属性,是否值得创建一个 ViewModel?
如果 Model 和 ViewModel 需要相同,那么创建 ViewModel 会为应用带来一些安全性或好处,还是我们只会增加不必要的复杂性?
最佳答案
使用 View 模型的目的通常是因为您的 View 需要的信息比您的域模型提供的信息多/少。
其他好处包括将您的 View 与您的领域分离,如果您的领域发展,这可能会导致脆弱性。
关键在于,它们不是必需品; View 模型的目的是为 View 提供仅呈现自身所需的信息,如果您觉得应用中的 View 模型是多余的,请不要使用它。但是,我至少会考虑使用接口(interface)来避免耦合。
关于c# - 总是在 MVC 中使用 ViewModel 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23723270/