模型类的接口和抽象类(MVVM)

时间:2015-07-29 08:50:15

标签: c# mvvm

根据我在学校看到的内容,模型类应该只包含数据成员/属性,而不包含方法/行为。 但是,在设计我的UML类图时,我看到了Model类的可能接口和抽象类。所以我的问题是:

  • 如果MVVM建议不要使用Model类中的方法,那么为模型设计抽象类/接口是个好主意吗?我看待它的方式是,如果你不能拥有模型的接口和抽象类,那么你永远无法从模型的接口和抽象类中获益。

1 个答案:

答案 0 :(得分:2)

在model-view-viewmodel设计中,大多数特定于域的逻辑和行为实际上都在模型中。这在域驱动设计中称为域模型。

该域代码可能会在您企业的多个部署单元/应用程序/服务中重用,因此它们独立于您正在编写的实际WPF应用程序。

viewmodel用作您正在编写的视图的可测试的特定于应用程序的适配器和介体,以便

  • 域不会受到所有应用程序不需要的行为的污染
  • 域不会受到与给定屏幕或UI(呈现状态)相关的状态(字段,属性)的污染
  • 该视图不包含您要进行单元测试的行为