MVVM是Model-View-ViewModel的缩写。
MVVM模式的组成部分:
- 模型
- 模型是指代表真实状态内容的领域模型(面向对象),或者代表内容的数据访问层(以数据为中心)。
- 视图
- 就像MVC、MVP一样,视图是用户在屏幕上看到的结构、界面、外观(UI)
- 视图模型
- 视图模型是暴露公共属性和命令的视图的抽象。MVVM没有MVC模式的控制器,也没有MVP模式的presenter,有的是一个绑定器。在视图模型中,绑定器在视图和数据绑定器之间进行通信。
MVVM模式的优点:
- MVVM和MVC 模式一样,主要目的是分离视图和模型。有以下几大优点:
- 低耦合。视图可以独立于Model变化和修改,一个viewModel可以绑定到不同的view上,当view变化的时候Model可以不变,当Model变化的时候view可以不变。
- 可重用性。你可以把一段视图逻辑放在一个viewModel里,让很多view重用这段视图逻辑。
- 独立开发。开发人员可以专注于业务逻辑和数据开发,设计人员可以专注页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。
- 可测试。界面素来比较难测试,测试可以争对viewModel来写。