从mvc到后来的mvp再到后来的mvvm。mvx模式一路发展。不断的适应新的框架,为开发助理。以下是mvx模式的解析
- mvc模式
- MVC是应用的最广泛的软件架构之一。一般MVC包含为:model(模型)view(视图)controller(控制器)。
- 这主要是基于分层的目的。让彼此职责分开。
*view一般是通过controller来和model联系的。controller是view和model的协调者。view和model不直接联系。基本联系都是单向的。比如: controller --> model --> view -->表示的是事件流向,并不一定持有 。网上有很多细节不太一样的mvc架构图。其实他们都是正确的。如图:
image.png
-
mvp模式
mvp是从mvc模式演变而来。基本思想想通。就是controller/presenter 负责逻辑的处理。model提供数据。view负责显示。不同的是。presenter与具体的view没有直接关联。而是通过定义好的接口进行直接交互。从而使变更view的时候。presenter不变。如图:
image.png -
mvvm
相对于前两种。mvvm是将ViewModel替换了前两者的controller和presenter。数据会绑定到ViewModel上并自动同步渲染到view上。view上改变也会通过viewModel来更新数据。这种自动同步是因为viewModel中的属性实现了Observer,当属性的变更都会触发操作。如图
image.png
网友评论