清晰了解MVC/MVP/MVVM三种模式
首先先来了解这三种模式的出现:MVC, MVP和MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式。
1.MVC——model view controller
mvc是应用最广泛的软件架构之一,它的出现主要是基于分层的目的,让彼此的职责分隔开。
他们之间的通信方式如下图:
图一.MVC通信方式一
解析图一:view一般都是通过controller来和model进行联系,基本联系都是单向的。view就相当是用户界面,比如说用户界面传送指令给controller,它完成业务逻辑之后要求model改变模型,当model发生改变之后,将新的view呈现出来。
图2.通信方式二
解析图二:用户通过controller来操作model已达到view的变化。
2.MVP——model view presenter
MVP是从MVC模式演变而来,presenter(负责逻辑的处理),model(数据),view(负责显示)。
在MVP里,Presenter完全把Model和View进行了分离,主要的程序逻辑在Presenter里实现。而且,Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View时候可以保持Presenter的不变,即重用!
3.MVVM——model view view model
这种模式,view的变化会自动更新到viewmodel,viewmodel的变化也会自动同步到view上显示。
vue和angular就是MVVM框架的典型代表。