MVVM和MVA(模型 - 视图 - 适配器)之间有什么区别?
只要两种模式:
我唯一想到的是,在MVVM中,VM不会收到来自Model的任何通知,但在MVA中,适配器会接收来自Model的通知!
那么如何解释这些模式的差异呢?
答案 0 :(得分:0)
在此article中,Martin Fowler概述了Presentation Model
模式,其中MVVM
可以说是衍生模式。
我对MVA
变体并不熟悉,但假设它具有与MVP
相似的品质和目标,使其具有可比性。
Presentation Model
模式与MVP
的其他变体之间的主要区别在下面的引文中突出显示。
Presentation Model是一种从视图中提取演示行为的模式。因此,它是Supervising Controller和Passive View的替代品。它允许您在没有UI的情况下进行测试,支持某种形式的多视图以及分离关注点,这可以使开发用户界面变得更加容易。
与Passive View和Supervising Controller相比,Presentation Model允许您编写完全独立于用于显示的视图的逻辑。您也不需要依赖视图来存储状态。缺点是您需要在表示模型和视图之间使用同步机制。这种同步可以非常简单,但它是必需的。