zoukankan      html  css  js  c++  java
  • MVC、MVP、MVVM

    实线代表方法调用,虚线代表事件通知。

    1.MVC

    graph LR View .->Controller
    graph LR Controller -->Model
    graph LR Model-->|修改| View

    View 事件触发Controller
    Controller 完成业务逻辑后,通知 Model 改变状态
    Model新的数据发送到 View,用户得到反馈

    2.MVP

    graph LR Presenter -->Model Model --> Presenter Presenter -->View View --> Presenter

    MVC 中的 Controller 只知道 Model 的接口,因此它没有办法控制 View 层的更新
    MVP 模式中,View 层的接口暴露给了 Presenter 因此我们可以在 Presenter 中将 Model 和 View 一同改变,以此来实现 View 和 Model 的同步更新

    3.MVVM

    graph LR ViewModel --> View View .->|事件| ViewModel ViewModel -->Model Model --> ViewModel

    MVVM 模式 思路基本上与 MVP 模式完全一致。
    不过,其采用双向绑定(data-binding):将 View 和 Model 的同步更新给自动化了。
    双向绑定简单实现:通过输入事件 改变 数据, 通过数据拦截 改变 视图

  • 相关阅读:
    沙漠之王(0/1分数规划+ 最小生成树)
    野餐规划(最小生成树性质)⭐
    走廊泼水节(最小生成树定理)⭐
    兄弟选择器+否定伪类
    子元素的伪类
    属性选择器
    伪元素
    伪类选择器
    Java连接Mysql由于版本更新报错
    Mac下安装SQL
  • 原文地址:https://www.cnblogs.com/pengnima/p/13053623.html
Copyright © 2011-2022 走看看