这些图中的箭头图例(MVC - MVP - MVVM)是什么?

2023-12-29

我尝试理解 MVC/MVP 和 MVVM 模式之间的主要区别。我找到了这 3 个图表,但我不确定是否理解它们。你能帮我解释一下虚线和实线的图例是什么吗?

MVC 来自维基百科的定义

来自 Microsoft MSDN 网站的 MVP

来自微软MSDN网站的MVVM


  • 实线是直接调用。
  • 虚线只是事件回调。

MVC 和 MVP(被动视图)模式之间的主要区别:

  • 在 MVC 视图中了解模型(调用 getData() 等来显示数据)
  • 在 MVP(被动视图)中,视图确实not了解型号。 Presenter 将数据从模型传递到视图。

更多详情请参见:

  1. MVC、MVP、MVVM http://nirajrules.wordpress.com/2009/07/18/mvc-vs-mvp-vs-mvvm/
  2. Martin Fowler 的深入描述:图形用户界面架构 http://martinfowler.com/eaaDev/uiArchs.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这些图中的箭头图例(MVC - MVP - MVVM)是什么? 的相关文章

  • 如何使用 Caliburn.Micro MVVM 将焦点设置到控件

    我有一个表单 我想在发生某些用户操作时将焦点设置到文本框 我知道 MVVM 的处理方式是绑定到 VM 属性 但是 TextBox 没有允许这种情况发生的属性 从虚拟机设置焦点的最佳方法是什么 我创建了一个 IResult 实现 可以很好地实
  • 中继命令和无参数执行方法

    我目前正在学习 WPF 和 MVVM 我想我已经了解了大部分内容及其工作原理 但我在使用 RelayCommand 或 DelegateCommand 时遇到了一些我不明白的问题 我认为这与代表的工作方式有关 请注意 下面的代码目前仅处于测
  • 如何更改 TextBox.Text 而不丢失 WPF 中的绑定?

    在 WPF 应用程序中 我正在创建一个设置窗口来自定义键盘快捷键 在文本框中 我处理 KeyDown 事件并将 Key 事件转换为人类可读的形式 以及我想要获取数据的形式 文本框声明如下
  • 如何使用 MVVM 打开和关闭新 Windows?

    对于 MVVM 和 WPF 什么是处理打开和关闭新窗口和对话框的好 直接方法 打开和关闭应该由 ViewModel 驱动 对吗 但 ViewModel 不应该知道视图 我通常为此使用接口 例如 如果我想在单独的窗口中编辑记录 我有一个接口
  • 使用 DataBindingComponent 的 Inflate 方法

    当 Glide 成功渲染图像后 我在更新文本视图时看到此错误 致命异常 java lang IllegalStateException 必需 CustomBinding 类中的 DataBindingComponent 为 null 绑定适
  • 如何在 Zend MVC 中实现 SSL

    我之前已经通过使用特定的安全文件夹 例如服务器上的 https 文件夹与 http 文件夹 实现了安全页面 我已经开始使用 Zend Framework 并希望应用程序的某些部分 例如登录 使用 https 我在谷歌上搜索过 甚至在这里搜索
  • GWT 哪个更好?

    在 GWT 接口中 使用带有 javacode 的普通 MVP 或 UiBinder 哪个更好 从性能 编辑 简单性方面 这是什么谷歌说 http code google com webtoolkit doc latest DevGuide
  • WPF + MVVM + RadioButton:如何处理单个属性的绑定?

    From this https stackoverflow com questions 2284752 mvvm binding radio buttons to a view model and this https stackoverf
  • Yii:使用与控制器布局不同的布局渲染动作

    在 Yii 中 有没有办法使用不同的方式渲染单个动作layout比为控制器定义的值 我有一个操作希望其格式与其他操作不同 并且文档中不清楚这是否可能 我相信您可以调用该操作 layout多变的 public function actionY
  • 讨论iPhone上的MVC实现

    我在不同的框架上使用 MVC 模式一段时间 例如 swing android gwt 现在 我正在学习iPhone框架 我对MVC的实现感到非常惊讶 我问的问题是关于视图和控制器交互的 首先 这就是我构思 MVC 模式的方式 视图和控制器通
  • 无法在 WPF 中使用 MVVM 在设计时进行数据绑定 - ViewModel 属性永远不会被调用

    好吧 我正在为此烦恼 所以任何帮助将不胜感激 我正在使用 MVVM 模式构建 WPF 应用程序 为了在设计时获取数据 我将 Ninject 依赖注入框架与服务定位器结合使用 很像文章中的示例 http jonas follesoe no Y
  • “纯”MVC 实现有多大用处?

    我在一家提供类似 CRM 的定制软件的公司工作 我们目前正在重新设计 重新开发该软件 希望它看起来更现代 并且更容易为未来的客户开发和定制 目前 定制每个新应用程序都需要很长时间 有一种假设是 花费这么长时间的原因是 视图 层中存在大量业务
  • MVVM 创建 ViewModel

    有人可以向我解释一下如何为 MVVM 模式创建 ViewModel 我试图理解这里的教程 http msdn microsoft com en us magazine dd419663 aspx http msdn microsoft co
  • 尝试了解使用服务打开对话框

    我已经阅读了有关使用 mvvm 模式打开对话框的讨论 我看过几个使用服务的示例 但我不明白所有部分如何组合在一起 我发布这个问题寻求指导 以了解我应该阅读哪些内容 以更好地理解我所缺少的内容 我将在下面发布我所拥有的内容 它确实有效 但从我
  • 在 ViewModel 中使用 CollectionViewSource 的正确方法

    我使用拖放将数据源对象 数据库模型 绑定到DataGrid 基本上遵循这个例子实体框架与 WPF 的数据绑定 http msdn microsoft com en us data jj574514 通过这个实现 一切都运行良好 XAML
  • 密码盒和 MVVM

    我们有以下场景 MVVM 用户界面 用户可以在其中输入密码 实际上是一个PasswordBox 应该做一些工作的服务器 服务器连接到一些需要身份验证的数据库 我已经读过这个关于MVVM中PasswordBox的问题 https stacko
  • 何时为 WPF/MVVM 使用事件和命令?

    我正在练习如何使用 MVVM 模式编写 WPF 应用程序 到目前为止 我还没有在我的代码中使用命令 在我的视图模型中我实现INotifyPropertyChanged并使用 事件PropertyChangedEventHandler Pro
  • 如何在ZK模板标签中使用if=“some condition”

    我的 ZUL 文件中有一个 标记 并且我想在满足某些条件时 例如 当某些 LABEL 的值更改为某些文本时 使用此模板 请看下面的代码 如您所见 templateStatus 是我的标签名称 但它不起作用 我该如何解决这个问题
  • 输入按键的淘汰赛事件绑定会导致奇怪的行为

    长话短说 我希望用户能够在输入元素上按 Enter 键 并调用我的视图模型中的某些方法 这是我的 html 输入
  • backbone.js:视图中影响集合中不同模型的按钮

    我刚刚开始使用backbone js 到目前为止 我真的很喜欢它 我有这样的事情 ModelA ModelB ViewA ViewB ModelA 持有 ModelB 的集合 如何使用按钮构建模型 B 的视图 单击该按钮会更改集合中下一个

随机推荐

  • odeint的runge_kutta4与Matlab的ode45的比较

    我想用runge kutta4方法中的odeint C 库 http headmyshoulder github io odeint v2 我已经用Matlab解决了这个问题 我在Matlab中的以下代码来解决x x g x 初始值x1 1
  • 我的图像分割结果图在白色斑块中包含黑色格子

    I m doing an image segmentation with UNet like CNN architecture by Pytorch 0 4 0 It mark foreground as 1 and background
  • 构建设置中的“Objective-C Bridging Header”条目不会出现在 Xcode 8.3 中

    我需要添加一些Objective C将库文件添加到我的项目中 然后我创建了MyProject Bridging Header h我自己归档 但现在我无法设置它的路径 因为在项目的构建设置中我找不到Objective C Bridging H
  • jqPlot 条形图出现问题

    我正在使用 jqPlot 创建条形图 但遇到了一些问题 问题一 图表上的第一个和最后一个条被截断 只显示一半 问题2 我不希望我的数据点跨越整个 x 轴 是否不能让数据跨越整个 x 轴 ex This is what is does rig
  • 是否有具有显式子类型的 ADT 名称?

    我正在为将 ADT 与显式子类型相结合的数据类型寻找合适的名称 在我的一个应用程序中 我使用类似于 ADT 的结构来表示解析树 在解析树上执行递归模式匹配 我发现如果可以将 ADT 与子类型结合起来会非常方便 如下例所示 注意 该示例是用
  • Haskell 保护 lambda 函数?

    是否可以对 lambda 函数设置保护 例如 k k lt 0 gt negative k 0 gt zero otherwise gt positive 其他答案显示了扩展如何LambdaCase and MultiWayIf 自从第一次
  • nginx 显示空白 PHP 页面

    我已经使用 php5 fpm 设置了 nginx 服务器 当我尝试加载该网站时 我得到一个空白页面 没有错误 Html 页面可以正常使用 但 php 则不行 我尝试在 php ini 中打开 display errors 但没有成功 php
  • MeshLab:如何导入 XYZRGB 文件

    当我导入 XYZRGB 我以编程方式生成 时 MeshLab 渲染点云 但颜色丢失 如何为顶点指定纹理 颜色 我尝试过 顶点属性转移 但没有任何反应 将扩展名 xyz 重命名为 txt 然后在导入文件时选择 x y z r g b 选项 在
  • Pandas 和 Python 数据框和条件移位函数

    数据框中是否有条件 移位 参数 例如 假设我拥有一个二手车场并且我的数据如下 SaleDate Car 12 1 2016 Wrangler 12 2 2016 Camry 12 3 2016 Wrangler 12 7 2016 Priu
  • 从 App Engine 使用 GCS json-api 时出现“超出配额”

    我在 App Engine 上使用 Go 大多数情况下 我使用文件 API http godoc org code google com p appengine go appengine file访问 GCS 效果很好 除了删除不起作用 h
  • WPF 不活动和活动

    我正在尝试处理 WPF 应用程序中的用户不活动和活动 以淡入淡出一些内容 经过大量研究后 我决定采用 Hans Passant 发布的 至少在我看来 非常优雅的解决方案here https stackoverflow com questio
  • 为什么我打印的数组末尾有一个 1?

    这是一个超级简单的数组打印 但是当我使用 print r 时我已经到了最后 然后我得到 Array 0 gt 1 1 gt 2 2 gt 3 3 gt 4 1 print r http php net print r已经打印了数组 不需要e
  • AVAudioPlayerNode.scheduleFile() 的completionHandler 调用得太早

    我正在尝试在 iOS 8 中使用新的 AVAudioEngine 看起来player scheduleFile 的completionHandler被调用before声音文件已播放完毕 我正在使用长度为 5 秒的声音文件 并且println
  • 删除Kafka 0.8.1.1中的主题

    我需要删除主题test在 Apache Kafka 0 8 1 1 中 正如表中所表达的文档在这里 https kafka apache org documentation html basic ops modify topic 我已经执行
  • Android smack 库订阅(不显示入站或出站通知)

    我正在开发一个 Android 聊天应用程序 其中我使用 smack 库进行即时消息传递 一切工作正常 但最大的问题在于订阅 如何向其他用户发送订阅通知 这是我发送订阅请求的代码 public void run runOnUiThread
  • Lotus Domino Designer 中的源代码控制

    多年来 我们一直在一个大型项目中使用 Domino 但没有任何真正的源代码控制 除了服务器备份 因此 当我注意到最新的 Designer 8 5 3 具有与 SVN 集成的潜力时 我感到非常高兴 我无法仅通过以下方式让 SVN 工作原始说明
  • $watch'ing Angular 指令中的数据更改

    我怎样才能触发 watch当操作内部数据 例如 插入或删除数据 时 在 Angular 指令中使用变量 但不为该变量分配新对象 我当前正在从 JSON 文件加载一个简单的数据集 我的 Angular 控制器执行此操作 并定义了一些函数 Ap
  • 将记录从android中的hashmap保存到数据库中

    我只是想寻求帮助 我在列表视图中填充了一个哈希图 下面的代码是我的哈希图的代码 mylist new ArrayList
  • 使用Shapeless通过HList将Future的tuple转换为tuple的Future

    有没有一种简单的方法将 Future A Future B Future C Future N 类型的元组转换为 Future A B C N 这假设元组中元素的数量未定义 我尝试将元组转换为 HList 并尝试了类似的 FoldLeft
  • 这些图中的箭头图例(MVC - MVP - MVVM)是什么?

    我尝试理解 MVC MVP 和 MVVM 模式之间的主要区别 我找到了这 3 个图表 但我不确定是否理解它们 你能帮我解释一下虚线和实线的图例是什么吗 MVC 来自维基百科的定义 来自 Microsoft MSDN 网站的 MVP 来自微软