MVVM中的模型

Roh*_*rma 9 .net c# wpf mvvm

除非我误解 - 我在MVVM上阅读的大部分文章都将MVVM中的模型解释为持有域/业务逻辑的部分,但让我感到困惑的是MVVM是一个表示层模式,而表示层并不完整地保存业务逻辑.有些请帮我理解业务层中的域逻辑如何映射到表示层中的模型,MVVM中的模型实际上是DTO吗?如果有人能够帮助解释业务层如何映射到SOA中的MVVM模型(业务逻辑位于Web服务之后),我将不胜感激.谢谢.

Ste*_*ham 2

MVVM 与 MVC 一样,只是分离表示的一种形式,其目的是实现应用程序中涉及 UI 逻辑和状态的部分与应用程序中涉及 UI 逻辑和状态相关的部分之间的关​​注点分离。到业务领域。因此,只要与表示问题分离,MVVM 并不真正规定有关模型部分采用的形式的任何内容。

该模型故意不以任何方式耦合或依赖于应用程序的表示方面,但除此之外,还有许多不同的方法来实现三元组的“M”部分。特别是,它不必映射到单个对象:它可能意味着与返回 DTO 的服务交互,可能意味着在消息总线上发布和订阅消息,或者可能意味着检索代表实体中的域对象。域,调用它们的方法,然后持久化它们。

MVVM 模式的真正独特之处在于 ViewModel 在其中的角色,因为它的目的是以具有丰富数据绑定功能的 View 技术可以使用的方式表示 UI 的状态。如果没有丰富的数据绑定支持,您将使用不同形式的分离表示,例如 MVC 或 MVP,但“M”部分仍然可以是相同的,因为根据定义它独立于 UI 技术。这是重要的因素。