MVVM MVVMModelviewviewmodel是一种软件架构模式 MVVM有助于将图形用户界面的开发与业务逻辑或后端逻辑数据模型的开发分离开来这是通过置标语言或GUI代码实现的MVVM的视图模型是一个值转换器 这意味着视图模型负责从模型中暴露转换数据对象以便轻松管理和呈现对象在这方面视图模型比视图做得更多并且处理大部 分视图的显示逻辑 视图模型可以实现中介者模式组织对视图所支持的用例集的后端逻辑的访问 MVVM是马丁福勒的PMPresentation Model设计模式的变体 MVVM以相同的方式抽象出视图的状态和行为 但PM以不依赖于特定用户界面平台的方式抽象出视图建立了视图模型 MVVM和PM都来自MVC模式 MVVM由微软架构师Ken Cooper和Ted Peters开发通过利用WPF微软NET图形系统和SilverlightWPF的互联网应用衍生品的特性来简化用户界面的事件驅動程式設計 微软的WPF和Silverlight架构师之一John Gossman于年在他的博客上发表了MVVM MVVM也被称为modelviewbinder特别是在不涉及NET平台的实现中ZKJava写的一个Web应用框架和KnockoutJS一个JavaScript库使用modelviewbinder