【Vue】mvc,mvp,mvvm 的区别

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

总结:

  • MVC : view 视图层依靠 model 来进行更新渲染,当数据发生改变时。第一步: 通知 controller 进行更新,然后第二步 controller 再通知 model 进行更新。最后 model 才将 view 更新 , 这样大量的逻辑以及更新操作,都需要在controller 操作,则产生了大量代码,不利于维护,且 model 发生变更时很难判断是由 model 直接更改的,还是view用户操作更改的,这样使得数据流很混乱,且相互依赖耦合度高。
  • MVP: view 与 model 所有的操作都需要经过 Presenter 处理后才能进行,所有通知 view 与 model 数据变化的操作都是在 Presenter 进行,这样就完全分离了两端的联系,解决了耦合度问题,但是p端内容就很多了。
  • MVVM: 利用 viewmodel 替代 presenter, 同样也是所有的数据以及视图变动都是在vm上处理进行的,但是 vm 中利用 diff 算法,虚拟DOM等方式实现了一套数据响应式机制,自动响应 model 中的数据变化,同时实现了一套更新策略。自动将数据变化转换为视图更新,减少了大量的代码,极大的提高了效率,且利于维护。

相关推荐

  1. “==”和“equals”区别

    2024-02-04 06:40:03       42 阅读
  2. == 和 equals 区别

    2024-02-04 06:40:03       37 阅读
  3. #{}和${}区别

    2024-02-04 06:40:03       23 阅读
  4. &&和&区别

    2024-02-04 06:40:03       14 阅读
  5. ==与===区别

    2024-02-04 06:40:03       11 阅读
  6. &与 && 区别

    2024-02-04 06:40:03       10 阅读
  7. TCP/UDP区别

    2024-02-04 06:40:03       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-04 06:40:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-04 06:40:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-04 06:40:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-04 06:40:03       20 阅读

热门阅读

  1. STM32的ADC采集传感器的模拟量数据

    2024-02-04 06:40:03       30 阅读
  2. 理解进位计数制:基数和位权

    2024-02-04 06:40:03       25 阅读
  3. PHP基于文本的简易搜索引擎

    2024-02-04 06:40:03       21 阅读
  4. 大数据领域的数据仓库

    2024-02-04 06:40:03       30 阅读
  5. 软考笔记--数据仓库技术

    2024-02-04 06:40:03       20 阅读
  6. ROS2 CMakeLists.txt 和 package.xml

    2024-02-04 06:40:03       27 阅读
  7. SpringBoot整理-安全(Spring Security)

    2024-02-04 06:40:03       23 阅读
  8. aspose-words字体替换功能2

    2024-02-04 06:40:03       30 阅读
  9. GoogleTest 单元测试

    2024-02-04 06:40:03       21 阅读