MVC、MVP、MVVM这些模式是为了解决开发过程中的实际问题而提出来的,目前作为主流的几种架构模式而被广泛使用。

一.MVP模式(Model-View-Presenter):传统的开发是MVP模式(例如jquery)

MVP是把MVC中的Controller换成了Presenter(呈现),目的就是为了完全切断View跟Model之间的联系,由Presenter充当桥梁,做到View-Model之间通信的完全隔离。

.NET程序员熟知的ASP.NET webform、winform基于事件驱动的开发技术就是使用的MVP模式。控件组成的页面充当View,实体数据库操作充当Model,而View和Model之间的控件数据绑定操作则属于Presenter。控件事件的处理可以通过自定义的IView接口实现,而View和IView都将对Presenter负责。  

二. MVC(MOdel-View-Controller)

MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。

MVC使用非常广泛,比如JavaEE中的SSH框架(Struts/Spring/Hibernate),Struts(View, STL)-Spring(Controller, Ioc、Spring MVC)-Hibernate(Model, ORM)以及ASP.NET中的ASP.NET MVC框架,xxx.cshtml-xxxcontroller-xxxmodel。(实际上后端开发过程中是v-c-m-c-v,v和m并没有关系,下图仅代表经典的mvc模型)

三. MVVM(Model-View-ViewModek)

如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革。它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。

这方面典型的应用有.NET的WPF,js框架Knockout、AngularJS,Vue等。

转载于:https://www.cnblogs.com/yuzihong/p/9169453.html

MVVM模式于MVP模式相关推荐

  1. android 的MVP模式的介绍

    当下开发中使用最多的最普遍的有三种模式就是MVC,MVP和MVVM.相信大家对这三个名词并不陌生,他们在我们的开发用应用的及其广泛,今天我就浅谈一下我了解的MVP设计模式.说MVP之前不得不谈谈MVC ...

  2. java mvp模式_mvp开发模式是什么意思(半分钟了解mvp模式)

    MVC 模式 Model-View-Controller ,模型-视图-控制器模式 Model:针对业务模型,建立的数据结构,Model 与 View 无关,而与业务有关. View:Android ...

  3. SCSF 系列:Smart Client Software Factory 中的 MVP 模式概述

    Smart Client Software Factory 是一个关注 Smart Client (智能客户端)构建的 UI 层框架,提供了对 MVP 模式的 First Class 支持,不了解 M ...

  4. android中的mvp模式怎么定义,详解MVP模式在Android开发中的应用

    一.MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Mode ...

  5. Android中用到的MVP模式

    参考:android架构设计-mvp模式封装 MVP模式是由MVC模式逐渐演化出来的.首先简单介绍一下MVC.这个在Spring框架里面是一个很常见的模式. MVC M(model)模型, 是应用程序 ...

  6. 浅谈安卓中的MVP模式

    端午放假,天气下雨,于是乎在家撸一下博客,本篇博客将为大家解析MVP模式在安卓中的应用. 本文将从以下几个方面对MVP模式进行讲解: 1.  MVP简介 2.  为什么使用MVP模式 3.  MVP模 ...

  7. android中的mvp模式怎么定义,在android中使用MVP模式

    1.MVP介绍java 随着UI建立技术的功能日益加强,UI层也履行着愈来愈多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专一于处理数 据的可视化以及与用户的交互,同时 ...

  8. 【iOS】MVP模式

    文章目录 什么是MVP模式? 图解 从MVC到MVP 苹果的MVC 为何要从MVC到MVP? MVP MVP模式下的工程 MVP模式的优缺点 什么是MVP模式? MVP模式是MVC模式的一个演化版本, ...

  9. 为什么选择MVVM而不是MVP - Android体系结构

    为什么选择MVVM而不是MVP - Android体系结构 标签(空格分隔): 翻译计划 Android开发 原文链接 Why to choose MVVM over MVP - Android Ar ...

最新文章

  1. android post请求_Vue 网络请求框架 axios 使用教程
  2. 中国、意大利等国研究员用AI 发现新的月球陨石坑 | AI日报
  3. Mybatis分页插件 - 示例
  4. window系统快捷键
  5. 快速理解Docker - 容器级虚拟化解决方案
  6. bps、Bps、pps
  7. 从“执行新过程新增5%的工作量”看新过程引入
  8. 0207.Domino R8.0.x群集配置手册
  9. hdu 4501 多维0-1背包
  10. java filter 模式,Java设计模式----过滤器模式(挑三拣四)
  11. java运行时读取注解_Java自定义注解和运行时靠反射获取注解
  12. 【Java】44个Java代码性能优化总结
  13. 集成学习—GBDT原理理解
  14. BZOJ5286 HNOI/AHOI2018转盘(分块/线段树)
  15. springboot 2.0 Redis command timed out的解决
  16. Python数据结构之字节,字节数组
  17. WPS Office 11.5.5 for Android 8848钛金
  18. Gmail配置邮箱客户端
  19. ESP8266 (WEMOS D1 R1 ) + L9110S_FOUR 驱动直流电机
  20. iOS-监听UITextView、UITextField键盘删除键

热门文章

  1. mysql免安装版配置
  2. [Linux]几个armhf的ubuntu源
  3. 散分,并如何判断时间段上有重叠冲突。
  4. docker命令及挂载
  5. activiti 部署流程图后中文乱码
  6. WCF开发入门的六个步骤
  7. PHP中如何解决高并发
  8. node webkit(nw.js) 设置自动更新
  9. Wireshark图解教程
  10. 软件本地化 pdf_软件本地化与标准翻译