MVVM
MVVM是 Model-View-ViewModel 的简写
MVVM 模式使用数据绑定基础架构,这种结构将 View 和逻辑分离出来由一个为 View 量身定制的 modeViewModel 的视图的绑定属性来获得二者之间的松散耦合
- View 绑定到 ViewModel,然后执行一些命令在向它请求一个动作。
- 而反过来,ViewModel 跟 Model 通讯,告诉它更新来响应。
因为 ViewModel 中的属性实现了 observer,当属性变更时都能触发对应的操作:
View 的变化通过绑定会自动更新到 ViewModel,ViewModel的变化 也会自动同步到 View
MVVM优点
低耦合。
视图(View)可以独立于 Model 变化和修改,一个 ViewMode l可以绑定到不同的”View”上,当 View 变化的时候 Model 可以不变,当 Model 变化的时候 View 也可以不变。可重用性。
你可以把一些视图逻辑放在一个 ViewModel 里面,让很多 view 重用这段视图逻辑。独立开发。
开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xml代码。可测试。
- 界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。