MVVM

MVVM  是一種軟件架構模式 。 MVVM有助於將圖形用戶界面的開發與業務邏輯或後端邏輯 （ 數據模型 ） 的開發分離開來 ， 這是通過置標語言或GUI代碼實現的 。 MVVM的視圖模型是一個值轉換器 ， 這意味着視圖模型負責從模型中暴露 （ 轉換 ） 數據對象 ， 以便輕鬆管理和呈現對象 。 在這方面 ， 視圖模型比視圖做得更多 ， 並且處理大部分視圖的顯示邏輯 。 視圖模型可以實現中介者模式 ， 組織對視圖所支持的用例集的後端邏輯的訪問 。 MVVM是馬丁 · 福勒的PM  設計模式的變體 。 MVVM以相同的方式抽象出視圖的狀態和行爲 ， 但PM以不依賴於特定用戶界面平臺的方式抽象出視圖 （ 建立了視圖模型 ） 。 MVVM和PM都來自MVC模式 。 MVVM由微軟架構師Ken Cooper和Ted Peters開發 ， 通過利用WPF （ 微軟.NET圖形系統 ） 和Silverlight （ WPF的互聯網應用衍生品 ） 的特性來簡化用戶界面的事件驅動程式設計 。 微軟的WPF和Silverlight架構師之一John Gossman於2005年在他的博客上發表了MVVM 。 MVVM也被稱爲model - view - binder ， 特別是在不涉及.NET平臺的實現中 。 ZK （ Java寫的一個Web應用框架 ） 和KnockoutJS （ 一個JavaScript庫 ） 使用model - view - binder 。