MV*模式的个人理解

时间:2023-03-09 19:48:08
MV*模式的个人理解

MV*模式主要解决的问题就是 View代码难以维护的问题。

MV*模式将View中的逻辑分离出去,形成一个弱逻辑的易于维护的视图。

MV*中的*是Model和View的桥梁,负责保持Model和View的同步。

MVC模式

Model,View,Controler,Controler负责视图逻辑,数据流向为 View -> Controler,Controler -> Model,Model -> View,三种呈环形结构

MV*模式的个人理解

MVC缺陷

MV*模式的个人理解

MVP模式

Model,View,Presenter,Presenter负责视图逻辑,数据流向为 View <-> Presentrer, Presenter <-> Model, Persenter成为View和Model的中介,不允许Model和View直接通信,MVP一定程度上解决了MVC的问题,但是Presenter将会非常复杂

MV*模式的个人理解

MVVM模式

Model,View,ViewModel,ViewModel负责视图逻辑,数据流向 View <-> ViewModel, ViewModel <-> Model, 进化版的MVP模式,将Presenter改为ViewModel。其中的Model为纯数据,不包括视图元素状态(显示/隐藏,高亮,禁用/启用等)。而多数的MVVM框架,ViewModel包含Model,ViewModel是数据和业务逻辑的集合体,View和ViewModel的同步是采用data-binding的形式。实际上,形成如下演变模式, View <-> ViewModel,说是VVM模式也许更贴切,目前这种方式被推崇为前端领域的最佳实践

MV*模式的个人理解