設計模式--MVVM

1.關聯模式

MVC

  • 視圖(View):用戶界面。
  • 控制器(Controller):業務邏輯
  • 模型(Model):數據保存

View 傳送指令到 Controller

Controller 完成業務邏輯後,要求 Model 改變狀態

Model 將新的數據發送到 View,用戶得到反饋

MVP

  • Model 提供數據
  • View 負責顯示
  • Presenter 負責邏輯的處理

各部分之間的通信,都是雙向的。

View 與 Model 不發生聯繫,都通過 Presenter 傳遞。

View 非常薄,不部署任何業務邏輯,稱爲"被動視圖"(Passive View),即沒有任何主動性,而Presenter非常厚,所有邏輯都部署在那裏。


2.MVVM

  • Model 提供數據
  • View 負責顯示
  • ViewModel 處理用戶輸入,反饋數據變化

比如AngualrJS

MVVM與MVP最大的不同就在於View與ViewModel交互的時候使用了鬆耦合的雙向綁定,而不是像View與Presenter那樣直接交互。ViewModel作爲View的數據映射,通常View上有什麼屬性,ViewModel上也會存在相應的一個屬性,這兩個屬性通過事件實現了雙向的綁定,常見的MVVM框架都替我們完成了這樣的綁定過程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章