MVVM

  1. View:界面,负责与用户交互,接受用户输入,把数据展现给用户,不应包含要Unit test的代码
  2. ViewModel:负责收集需要绑定的数据和命令,处理显示逻辑,聚合(has-a)Model对象或者对Model数据进行加工,如通过添加额外的属性,这些属性值需要根据Model的属性加工或计算而来,以让View绑定进行显示。此外还可以在ViewModel中对数据的有效性和一致性进行处理,通过Logical State使View中的显示进行改变,在View类中把DataContext属性绑定到ViewModel对象,View与ViewModel连接可以通过以下方式:
    • Binding Data:实现数据的传送
    • Command:实现操作的调用
    • Change notification events
  3. Model:封装业务逻辑和数据,为了支持绑定到View,通常要支持property/collection changed 事件。要实现数据有效性或者error reporting,则可以实现IDataErrorInfo或者INotifyDataErrorInfo接口。Model 还通常与Service或者Repository协作提供data access和caching
  4. 一般View对应一个ViewModl,ViewModel可以聚合多个Model,ViewModel可以对应多个View,Model不知道View和ViewModel的存在

    clipboard

你可能感兴趣的:(VM)