0
MVVM和MVA(模型 - 視圖 - 適配器)有什麼區別?MVVM和MVA(模型 - 視圖 - 適配器)之間的區別
只要在兩個圖案:
- 的VM和適配器視圖和模型之間進行調解。
- 可能有多個虛擬機和適配器參與這些模式相同的模式。
- 該模型直接與虛擬機和適配器交互。
我唯一想到的是,在MVVM中,VM不會收到來自Model的任何通知,但是在MVA中,適配器接收來自Model的通知!
那麼這些模式的差異如何解釋呢?
MVVM和MVA(模型 - 視圖 - 適配器)有什麼區別?MVVM和MVA(模型 - 視圖 - 適配器)之間的區別
只要在兩個圖案:
我唯一想到的是,在MVVM中,VM不會收到來自Model的任何通知,但是在MVA中,適配器接收來自Model的通知!
那麼這些模式的差異如何解釋呢?
在這種article,馬丁福勒概述了Presentation Model
圖案,其中MVVM
是,可以說,其衍生物。
我並不熟悉MVA
變種,但假設它具有類似的品質和目標MVP
,使其具有可比性。
Presentation Model
模式與MVP
其他變體之間的主要區別在下面的引用中突出顯示。
演示模型是一種模式,可從視圖中提取演示文稿行爲。因此,它是監督控制器和被動視圖的替代方案。這對於允許您在沒有UI的情況下進行測試,支持某種形式的多視圖和分離關注點可能會使開發用戶界面變得更加容易。
與被動視圖和監督控制器相比,演示模型允許您編寫完全獨立於用於顯示的視圖的邏輯。您也不需要依賴視圖來存儲狀態。缺點是您需要演示模型和視圖之間的同步機制。這種同步可能非常簡單,但它是必需的。