📜  KnockoutJS-MVVM框架

📅  最后修改于: 2020-10-23 07:33:32             🧑  作者: Mango


Model-View-ViewModel(MVVM)是用于开发软件应用程序的体系结构设计模式。 MVVM由Microsoft架构师John Gossman在2005年开发。此模式源自“模型-视图-控制器(MVC)”模式。 MVVM的优点是它将应用程序层的图形用户界面与业务逻辑分开。 MVVM负责以非常容易的方式表示和管理来自基础模型的数据。 MVVM中的ViewModel代表View状态和操作的抽象版本。

视图类不知道存在Model和ViewModel类,而且Model和ViewModel不知道存在View。模型也没有意识到ViewModel和View存在。

建筑

MVVM架构

视图

视图是使用标记语言创建的图形用户界面,用于表示数据。视图通过数据绑定概念绑定到ViewModel的属性,该概念间接连接到模型数据。在ViewModel中进行的任何更改都无需更改视图。由于绑定,对ViewModel中的数据所做的更改会自动在View中传播。

模型

模型是域数据或业务对象,其中包含实时数据。模型不包含行为。行为主要在业务逻辑中实现。

视图模型

ViewModel是中心位置,来自Model和View的显示逻辑的数据被捆绑在一起。 ViewModel保存数据的动态状态。在View和ViewModel之间有一个隐式绑定器,可以彼此通信。此绑定包括声明性数据和命令绑定。通过此绑定可以实现View和ViewModel的同步。在View中所做的任何更改都会反映在ViewModel中,同样,在ViewModel中所做的任何更改也会自动反映在View中。这种2向绑定机制的存在是此MVVM模式的关键方面。