美文网首页
Vue 基础【1】— MVVM模式

Vue 基础【1】— MVVM模式

作者: 弱冠而不立 | 来源:发表于2020-09-25 20:17 被阅读0次

    参考文章:阮一峰 MVC,MVP 和 MVVM 的图示

    1. 什么是MVVM?

    MVVM 全称 Model-View-ViewModel,是一种软件架构设计模式,其核心就是 ViewModel。源自于经典的 MVC (Model-View-Controller) 模式。同时还有 MVP (Model-View-Presenter) 模式。

    2. MVC,MVP,MVVM 的区别

    1. MVC (Model-View-Controller) 模式

    • 模型—Model: 数据存储 (对数据的增删改查)
    • 视图—View: 用户界面 (前端页面的渲染)
    • 控制器—Controller: 业务逻辑 (路由,业务逻辑等)
    各部分之间通信如图。View 请求接口到 Controller,Controller处理好业务逻辑之后,要求Model相应地改变数据,最后Model处理好数据之后,将新的数据返回给View

    2. MVP (Model-View-Presenter) 模式
    MVP 模式将 Controller 改名为 Presenter (主持人),同时改变了通信方向。

    View 请求接口到 Presenter,Presenter 处理好逻辑要求 Model 改变数据,Model更改好数据后,发送更改好的数据到 Presenter,Presenter再将结果返回给 View

    总结
    各部分之间的通信,都是双向的。
    View 与 Model 不发生联系,都通过 Presenter 传递。
    View 非常薄,不部署任何业务逻辑,而 Presenter非常厚,所有逻辑都部署在那里。

    3. MVVM模式
    MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。

    和 MVP 模式的区别是,它采用双向绑定(data-binding):ViewModel的变动,自动反映在 View

    总结:
    View 请求更改 ViewModel,ViewModel 接收请求处理业务逻辑后,要求Model更改数据,Model将更改好的结果返回给ViewModel。
    ViewModel 和 View是绑定的,ViewModel的变动自动反映在 View

    相关文章

      网友评论

          本文标题:Vue 基础【1】— MVVM模式

          本文链接:https://www.haomeiwen.com/subject/ozmxuktx.html