MV*模式的个人理解
2016-10-15 17:32
218 查看
MV*模式主要解决的问题就是 View代码难以维护的问题。
MV*模式将View中的逻辑分离出去,形成一个弱逻辑的易于维护的视图。
MV*中的*是Model和View的桥梁,负责保持Model和View的同步。
MVC模式
Model,View,Controler,Controler负责视图逻辑,数据流向为 View -> Controler,Controler -> Model,Model -> View,三种呈环形结构
MVC缺陷
MVP模式
Model,View,Presenter,Presenter负责视图逻辑,数据流向为 View <-> Presentrer, Presenter <-> Model, Persenter成为View和Model的中介,不允许Model和View直接通信,MVP一定程度上解决了MVC的问题,但是Presenter将会非常复杂
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*模式将View中的逻辑分离出去,形成一个弱逻辑的易于维护的视图。
MV*中的*是Model和View的桥梁,负责保持Model和View的同步。
MVC模式
Model,View,Controler,Controler负责视图逻辑,数据流向为 View -> Controler,Controler -> Model,Model -> View,三种呈环形结构
MVC缺陷
MVP模式
Model,View,Presenter,Presenter负责视图逻辑,数据流向为 View <-> Presentrer, Presenter <-> Model, Persenter成为View和Model的中介,不允许Model和View直接通信,MVP一定程度上解决了MVC的问题,但是Presenter将会非常复杂
MVVM模式
Model,View,ViewModel,ViewModel负责视图逻辑,数据流向 View <-> ViewModel, ViewModel <-> Model, 进化版的MVP模式,将Presenter改为ViewModel。其中的Model为纯数据,不包括视图元素状态(显示/隐藏,高亮,禁用/启用等)。而多数的MVVM框架,ViewModel包含Model,ViewModel是数据和业务逻辑的集合体,View和ViewModel的同步是采用data-binding的形式。实际上,形成如下演变模式, View <-> ViewModel,说是VVM模式也许更贴切,目前这种方式被推崇为前端领域的最佳实践
相关文章推荐
- 关于装饰者模式的个人理解
- “命令模式”的个人理解
- 个人对单例模式和观察者模式及事件的一点理解
- 个人对设计模式的理解-->建造者模式
- 个人对理想团队模式构建的设想以及对软件流程的理解
- 几种设计模式分类的个人理解
- 代理模式,简单(静态)工厂模式,单例模式,模板方法模式个人理解
- 【Java学习笔记】线程安全的单例模式及双重检查锁—个人理解
- 建造者模式的个人理解
- 单例模式的个人理解
- 装饰模式个人的一些理解
- 设计模式个人理解
- 个人对于PHP设计模式之工厂模式的理解
- andorid 中 MVP模式 个人理解与运用(原创)
- 设计模式及其学习方法的个人理解
- 设计模式之个人理解--单例模式
- JAVA设计模式六大原则个人理解【上】
- 个人理解的单例模式
- 设计模式之个人通俗理解
- 适配器模式 和 装饰模式 个人的理解笔记