Model–View–ViewModel(MVVM) 是一个软件架构设计模式,由微软 WPF 和 Silverlight 的架构师 Ken
Cooper 和 Ted Peters 开发,是一种简化用户界面的事件驱动编程方式。由 John Gossman(同样也是 WPF
和 Silverlight 的架构师)于2005年在他的博客上发表。
MVVM 源自于经典的 Model–View–Controller(MVC)模式(期间还演化出了 Model-View
Presenter(MVP)模式,可忽略不计)。MVVM 的出现促进了 GUI 前端开发与后端业务逻辑的分离,极大
地提高了前端开发效率。MVVM 的核心是 ViewModel 层,它就像是一个中转站(value converter),负责
转换 Model 中的数据对象来让数据变得更容易管理和使用,该层向上与视图层进行双向数据绑定,向下与
Model 层通过接口请求进行数据交互,起呈上启下作用。如下图所示:
MVVM的设计思想:
==关注Model的变化,让MVVM框架去自动更新DOM的状态,从而把开发者从操作DOM
的繁琐步骤中解脱出来!==