1

它看起来像 VM = 业务逻辑层并且模型 = 实体/DTO。在我的业务逻辑中,我正在验证业务规则,例如 FirstName 是否为空等,看起来这也可以是 ViewModel 的工作,因此如果我们需要在N 层架构的应用程序?模型只是 DTO,所以在 N 层应用程序中是否需要模型?

谢谢!

4

1 回答 1

2

根据维基百科,模型代表“概念和它们之间的关系”。通常,在多层架构中,模型的概念是层本地的。为什么?因为您不想让可能只与其中一个层相关的信息污染整个应用程序。例如,UI 层中的客户概念可能与数据访问层中的客户概念截然不同(您可能希望它们公开不同的方法)。

因此,MVVM 中的 M 指的是表示层中的模型 - 即(例如)表示 UI 世界中的客户概念的对象。这可能是一个简单的 DTO 完全合适,或者您可能希望在考虑将传入的 DTO 对象表示为模型的元素之前赋予它额外的行为(可能使用适配器模式)。我很想在此处添加图表以进行澄清,不幸的是我的声誉不允许我这样做!

于 2013-05-20T10:12:51.640 回答