-
MVVM是把MVC的Ccontroller和MVP的Presenter改成了ViewModel,即Model+View+ViewModel的结构。 其中View是显示层,代表UI 组件,它负责将数据模型转化成UI 展现出来,表示的是HTML显示页面;Model是数据层,表示对数据的处理,也可以在Model中定义数据修改和操作的业务逻辑,例如增删改差;ViewModel是业务逻辑层,用来监控两边的数据,表示一切js可视化业务逻辑,若显示层发生更新则ViewModel则会把数据同步更新到数据层,反之,若数据层发生变化,则ViewModel则把数据更新到显示层。
-
MVVM的优点:
- Controller清晰简洁,因为ViewModel分离了大部分的Ccontroller代码,更加清晰并且容易维护
- 方便测试:开发中大部分的bug来源于逻辑处理,由于ViewModel分离了许多逻辑,可以对ViewMode构造单元测试
- 开发解耦(例如:一人负责逻辑实现,一人负责UI实现)