MVC 与观察者模式

2024-04-22

我最近在 StackoverFlow 上问了一个关于 MVC 的问题:MVC设计模式/架构模式可以用于桌面应用程序开发吗? https://stackoverflow.com/questions/305988/can-the-mvc-design-pattern-architectual-pattern-be-used-in-desktop-application

根据提供的答案,我开始研究如何在 Windows 窗体应用程序中实现这一点。我发现了以下 CodeProject 文章:http://www.codeproject.com/KB/cs/model_view_controller.aspx http://www.codeproject.com/KB/cs/model_view_controller.aspx

在文章下面的评论中,某些用户认为(虽然这是一篇好文章)它实际上是观察者模式。首先,但不太重要的问题是,是否有人同意或不同意这一点,为什么?

关于第二个也是更重要的问题:我正在尝试在.NET 中构建一个小型任务列表程序。它将非常小并且希望很快。一般来说,对于这样的项目来说,什么是更好的架构?观察者模式还是 MVC 模式?或者其他模式?

谢谢


通常是 mvc 中的模型(http://en.wikipedia.org/wiki/Model-view-controller http://en.wikipedia.org/wiki/Model-view-controller) 是一个可观察的/主题 (http://en.wikipedia.org/wiki/Observer_pattern#Subject http://en.wikipedia.org/wiki/Observer_pattern#Subject),而观点是观察者(http://en.wikipedia.org/wiki/Observer_pattern#Observer http://en.wikipedia.org/wiki/Observer_pattern#Observer)。另请参阅:mvc 中http://webcourse.cs.technion.ac.il/234321/Winter2005-2006/ho/WCFiles/08-Design-Patterns.ppt http://webcourse.cs.technion.ac.il/234321/Winter2005-2006/ho/WCFiles/08-Design-Patterns.ppt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC 与观察者模式 的相关文章

  • 中性语言设置的用途是什么?

    您可以找到设置访问 WinForms应用程序属性 gt 应用程序 gt 程序集信息 gt 中性语言 我相信它设定了中性资源语言属性 http msdn microsoft com en us library system resources
  • 用简单的英语来说,什么是单例?

    我已经在谷歌上搜索了大约一个小时 但我仍然不清楚什么是单例 谁能让我更清楚一点 也许可以发布一个代码示例 我所知道的是 一个给定类只能有一个实例 但是你不能为此使用静态类吗 提前致谢 The simple plain English1 ve
  • 使用 TextBox 过滤 Datagridview 行

    我有一个绑定的 datagridView 我想使用 TextBox 值对其进行过滤 我使用了这段代码 private void ChercheStextBox TextChanged object sender EventArgs e tr
  • 如何判断一个具有很多属性的对象(自身)是否发生了改变?

    问题的简短版本 我有一个带有大量声明属性的类 我想跟踪它是否有任何更改 以便当我调用save方法 当不需要时它不会写入数据库 我如何更新isDirty财产无需为所有声明的属性编写自定义设置器 问题的较长版本 假设我有一堂这样的课 inter
  • 实施策略模式的函数式方法

    我正在尝试解决一个处理从一种温度单位到另一种温度单位 摄氏度 开尔文 华氏度 转换的问题 在Java中 我需要创建一个接口并提供多个实现来封装输入类型并将结果作为输出类型的单元返回 例如开尔文到摄氏度或摄氏度到华氏度等 我已经在 scala
  • DataGridView:如何让回车键添加新行而不是更改当前单元格?

    如何让 Enter 键在 Winforms 中起作用DataGridViewTextBoxCell就像在普通 Winform 中一样TextBox 向文本添加新行 而不是更改当前单元格 嗯 我知道如何解决这个问题了 首先 创建一个类 名为C
  • 为什么我收到错误“错误 C2259:...无法实例化抽象类”?

    任何帮助都是appriced 我正在研究 C 工厂模式 但收到此错误 1 gt c users brian documents visual studio 2010 projects cst276lab 3 guitar hpp 456 错
  • 如何将文本框中删除的字符替换为0

    在winforms中 如何用零替换删除的字符 例如 文本框中为 12 45 如果我们删除小数点后 它应该变成12 00 同样的方法删除前面的000 45 默认值应为 000 00 Use a 蒙版文本框 http msdn microsof
  • 将大数据集加载到 GridView 中的最快方法是什么?

    我有一个数据源 其中包含 1 4 数百万行 并且还在不断增长 我们让用户添加过滤器来减少调用的数据 但您仍然一次查看 43 000 到 100 000 行 在任何人说之前 无论如何没有人可以查看那么多行 它们将被导出到 Excel 工作簿中
  • 如何使用鼠标拖动和移动winform

    我知道如何通过添加以下代码来 拖动和移动 winform Protected Overrides Sub WndProc ByRef m As Message If m Msg 163 And ClientRectangle Contain
  • Backbone-relational 无法实例化两个 RelationalModel 对象

    我正在尝试实现 BackboneRelational 并不断获得 无法实例化多个 Backbone RelationalModel 每种类型都有相同的 ID class App Models User extends Backbone Re
  • 启动画面后主窗口出现在其他窗口后面

    我有一个带有启动屏幕的 Windows 窗体应用程序 当我运行该应用程序时 启动屏幕显示正常 消失并加载应用程序的主窗体 但是 当我加载主窗体时 它出现在包含该应用程序的 Windows 资源管理器目录下 这是运行启动画面然后运行主窗体的代
  • PackageManager.FindPackageForUser(String, String) 始终返回 null

    为什么我的以下代码示例this https learn microsoft com en us uwp api windows management deployment packagemanager findpackageforuser方
  • 业务代表与服务定位器

    Business Delegate 和 Service Locator 之间有什么区别 两者都负责封装查找和创建机制 如果 Business Delegate 使用 Service Locator 来隐藏查找和创建机制 那么 Busines
  • 如何通过 FluentValidation 验证上传的文件

    如何使用 FluentValidation 验证上传的文件
  • 设置表单的父级

    我有一个 Windows 表单 我想从中打开一个状态表单 上面写着 正在保存 然后保存完成后消失 我想将这个小状态表单放在调用表单的中间 我尝试将 StartPosition 属性设置为 CenterParent 但它不起作用 我从其他表单
  • 使用 dateTimePicker 在 DataGridView 中编辑日期

    我有一个DateTime我的 WinForms 中的专栏DataGridView 目前只能通过手动输入日期来编辑该字段 例如 2010 09 02 需要什么才能拥有一个DateTimePicker 或同等 用作编辑器 DataGridVie
  • 将现有表单添加到 C++/CLI WinForms 项目

    我在不同的解决方案中有两个 C CLI 项目 A 和 B 我使用 A 进行实验 测试 并在完成测试后将测试的代码移至 B 但是 我发现在将 Windows 窗体类 标头 cpp 和 resx 添加到项目 B 时 我无法再使用 IDE 的可视
  • 在 UserClosing 和 this.close 上触发关闭事件

    我有一个表单 上面有一个 LogOutEvent 和一个表单关闭事件 这是代码 private void btnLogOut Click object sender EventArgs e DialogResult yesNo Messag
  • AngularJS 服务并承诺最佳实践

    我有一个 AngularJS 应用程序services 调用 http资源并返回promise我在控制器中解决了这个问题 这是我正在做的事情的示例 app service Blog function http q var deferred

随机推荐