对于 Web 应用程序来说,正确的 MVC 图是什么? [关闭]

2024-01-18

哪个 MVC 图是正确的?每个都有不同的箭头...

图1

图2


(source: stannard.net.au http://blog.stannard.net.au/blog/media/simple-mvc-framework/mvc.gif)

图3

图4


(source: sun.com http://java.sun.com/blueprints/patterns/images/mvc-structure-generic.gif)

图5


(source: shopno-dinga.com http://www.shopno-dinga.com/dustbin/mvc.png)


他们都是。

MVC 是一种模糊的模式。

我对 MVC 的看法是:

控制器

对象具有模型的集合,并具有用于查看和编辑模型的方法。它与模型对话并返回应用了模型的视图实例。

View

附加了模型的定义,并且只是显示特定模型的一组功能。

Model

封装数据。具有返回状态和更改状态的方法。

//Controller
import Views

class Controller
  private Models

//View
import Model

class View

//Model
class Model

模型不需要了解有关视图/控制器的任何信息。视图需要知道模型的定义。控制器需要own建模并需要了解视图的定义。

您可以将它们耦合得更紧密,这是可选的。

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

对于 Web 应用程序来说,正确的 MVC 图是什么? [关闭] 的相关文章

  • 如何在 Rails 4 中“link_to”完整路径?

    这是我的代码 a a 从上面
  • 使用“旧”对象引用使用构建器模式创建新对象

    我正在尝试构建器模式 并陷入如何向新创建的对象添加新 属性 的困境 public class MsProjectTaskData private boolean isAlreadyTransfered private String req
  • AngularJS 服务位于单独的文件中

    我的 app js 包含 var app angular module myApp config routeProvider function routeProvider http 服务看起来像 app service MyService
  • 实施策略模式的函数式方法

    我正在尝试解决一个处理从一种温度单位到另一种温度单位 摄氏度 开尔文 华氏度 转换的问题 在Java中 我需要创建一个接口并提供多个实现来封装输入类型并将结果作为输出类型的单元返回 例如开尔文到摄氏度或摄氏度到华氏度等 我已经在 scala
  • C++ 包装类的设计

    我必须使用一个界面非常笨拙的旧类 由于我无法更改它并且依赖它 因此我想构建一个包装器 提供一个干净的界面 假设我有课笨手笨脚的班级 基本上 我有三种方法 1 参考会员 Class Wrapper public Wrapper ClumsyC
  • 为什么我收到错误“错误 C2259:...无法实例化抽象类”?

    任何帮助都是appriced 我正在研究 C 工厂模式 但收到此错误 1 gt c users brian documents visual studio 2010 projects cst276lab 3 guitar hpp 456 错
  • “TryParse / Parse like”模式:实现它的最佳方法是什么

    这个问题是来自的后续问题如何指示方法不成功 https stackoverflow com questions 161822 how to indicate that a method was unsuccessful xxx Tryxxx
  • Backbone-relational 无法实例化两个 RelationalModel 对象

    我正在尝试实现 BackboneRelational 并不断获得 无法实例化多个 Backbone RelationalModel 每种类型都有相同的 ID class App Models User extends Backbone Re
  • 与竞争的消费者顺序处理消息

    Problem 我以特定顺序 FIFO 在队列上接收消息 比如订单 我的队列中有竞争的消费者 为了进一步增加复杂性 消费者可能只对订单的特定版本感兴趣 具体取决于其状态 例如版本 1 版本 2 和版本 5 订单版本号在订单上可用 但不能用于
  • 在 C++ 中创建观察者设计模式的好方法

    我正在尝试用 C 实现观察者设计模式 如下所示 include
  • 强制函数调用的顺序?

    假设我有一个抽象基类 并且我想要一个必须由派生类实现的纯虚方法 但我想确保派生方法以特定顺序调用函数 我可以做什么来强制执行它 I E base class virtual void doABC 0 virtual void A 0 vir
  • C 中的 N 依赖注入 - 比链接器定义的数组更好的方法?

    Given a 库模块 在下文中称为Runner 它作为可重复使用的组件 无需重新编译 即静态链接库 中应用程序分区架构的 而不是主分区 请注意 它仅包含main 出于演示目的 Given a set 顺序无关 调用的其他模块 对象Call
  • 在实现接口的类上强制使用单例模式

    我最好用一个例子来解释这个问题 我有一个接口模型可用于访问数据 模型可以有不同的实现 可以以各种格式表示数据 例如 XMl txt 格式等 Model不关心格式 可以说这样的一个实现是myxml模型 现在我想强迫myxml模型以及其他所有实
  • 使用 LINQ to SQL 的 .NET 架构的最佳设计实践(DAL 必要吗?我们真的可以使用 POCO吗?要采用的设计模式吗?)

    我避免在 net arch n 层架构上编写看起来像是另一个线程的内容 但请耐心等待 希望我和其他人一样 在选择用于企业应用程序的架构时 考虑到当今的趋势和新兴技术 仍然没有 100 满意或不清楚应采取的最佳方法 我想我正在寻求大众社区对方
  • 工厂模式和策略模式

    我需要创建一个类来负责结果集处理 但可能会发生应该使用不同的算法来处理该结果集的情况 我知道以下选项 1 使用策略模式 伪代码如下 interface Strategy processResultSet ResultSet rs class
  • 无法在 VB MVC 应用程序中创建 HtmlHelper 方法

    我无法弄清楚以下代码中缺少什么 我有一个应该添加 虚拟 辅助扩展的方法 Imports System Runtime CompilerServices Namespace HtmlHelpers Public Module HelpExte
  • IoC 服务的抽象类还是接口?

    我目前正在使用 IoC 在项目中提供存储库的具体实现 我读过的所有示例都使用接口作为服务的定义 但是 在阅读了 Microsoft 的建议后 建议更喜欢抽象类而不是接口 http msdn microsoft com en us libra
  • 使用面向对象的分析和设计对电梯进行建模[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 当涉及到面向对象的设计和分析时 有一组问题似乎在面试和课堂上很常见 这是其中之一 不幸的是 我在大学的 OOP 教授从未真正给出过答案 所以我一
  • 为什么工厂模式会这样工作?

    我从未真正研究过工厂模式 今天决定花时间根据本文创建一个快速示例 http msdn microsoft com en us library ee817667 aspx http msdn microsoft com en us libra
  • 静态类与类的实例

    我有一个静态类 用于访问我的公共属性 整个应用程序的全局属性 和我在应用程序运行期间使用的方法 例如 我在静态类中设置了一些属性 并且在应用程序运行时我可以从属性中获取值 但我可以使用单例模式创建非静态类并以相同的方式使用它 问题 对于我的

随机推荐

  • 使用 LIFO 逻辑运行的 MailboxProcessor

    我正在学习 F 代理 MailboxProcessor 我正在处理一个相当非传统的问题 我有一名代理人 dataSource 这是流数据的来源 数据必须由一系列代理进行处理 dataProcessor 我们可以考虑dataProcessor
  • Windows ETW:内核使用者未收到 EventCallback 或 BufferCallback 事件

    我正在尝试监听 ETW 内核事件 第 1 步 致电OpenTrace http msdn microsoft com en us library windows desktop aa364089 28v vs 85 29 aspx 指定Ev
  • 何时使用 .First 以及何时将 .FirstOrDefault 与 LINQ 结合使用?

    我已经四处搜寻 但还没有真正找到关于何时使用的明确答案 First当你想使用时 FirstOrDefault使用 LINQ 您想什么时候使用 First 仅当您想在没有返回结果的情况下捕获异常时 var result List Where
  • calc() 是否适用于 CSS 中图像的背景大小?

    我的问题很简单 calc 用于纯 CSS 中背景图像的背景大小 现在我正在修复响应式移动视图的背景图像 我希望图像保持固定的屏幕比例 但在任何移动屏幕上调整大小 我实现了这段代码 目前不起作用 media max width 767px b
  • 使用 jQuery 收集所有没有特定类的“可见”表单元素的最佳方法?

    我正在尝试在给定表单上重新分配新的选项卡索引 为此 我想排除任何不可见 不可见 的表单元素 并且还排除拥有特定类 offscreen 的任何表单元素 我正在尝试这种方法 但是 它不起作用 并且可能不是最有效的方法 function reas
  • MAMP 中包含的 MySQL 是否不包含配置文件?

    我似乎找不到 my cnf 或 MySQL 附带的其他配置文件MAMP http www mamp info en index html 其中不包括一项吗 MAMP 非 PRO 的 MySQL 服务器将在没有任何 my cnf 文件的情况下
  • PHP 编辑 Microsoft Word 文档 str_replace 和 preg_replace 不起作用

    假设 我有 MSWord 文件 source doc 其下一个内容是 Microsoft Word 文件的内容 例如 我想通过 PHP 打开它 并将单词 Microsoft 替换为 Openoffice 并将结果保存到结果 doc 这是使用
  • 如何将 malloc 返回的指针视为多维数组?

    有没有办法告诉编译器我已经分配了大小为 N M 的内存 并且我想将此指针视为 N M 数组 换句话说 有没有办法写这样的东西 int arr N M int N M malloc N M sizeof int arr x y 123 我知道
  • Java 7 明显的安全变化

    随着最近对 Java 7s 安全检查的更改 我正在更新我们的 Webstart 应用程序 以允许它在没有警告的情况下运行 我们的 webstart 应用程序由许多 jar 文件组成 其中只有少数是我们开发的 我们使用许多第 3 方 jar
  • 从node.js中的模块内调用app.js的函数?

    假设我有以下 app js 显然very简化 var express require express app express createServer include routes require lib routes app some r
  • 如何抓取由 R 渲染的 JavaScript 网站?

    想问下有没有什么好的方法可以抓取下面的网站 基本上我想获取所有产品的名称和价格 然而 价格信息存储在一些 JQuery 脚本中 硒是唯一的解决方案吗 想过用V8 Jsonlite 但好像不太适用 如果你能在 R 中提供一些替代方案 那就太好
  • Ansible playbook 中的动态变量名称?

    我有许多带有名称的列表 这些列表是通过附加创建的ec2 public dns name to seeds 像这样 seeds ec2 50 8 1 43 us west 1 compute amazonaws com 我需要每个主机的配置来
  • 如何在 Vertica 中创建外部过程

    如何在 Vertica 中创建使用带有诸如以下子句的 SQL 的函数 过程FROM WHERE GROUP BY ORDER BY LIMIT etc 维蒂卡的create function语法禁止在语句中使用某些子句expression
  • Excel VBA Array() 函数导致类型不匹配?

    我创建了以下函数来查找文件并在未找到文件时给出错误 Public Function checkFileExistence arrFileNames As String Optional bShowErrMsg As Boolean Fals
  • Python SIGINT 未捕获

    我不明白为什么我的 SIGINT 永远不会被下面的代码捕获 usr bin env python from threading import Thread from time import sleep import signal class
  • 如何让主线程等待所有子线程完成?

    我打算在主线程中触发 2 个线程 并且主线程应该等待所有 2 个子线程完成 这就是我的做法 void routine void arg sleep 3 int main for int i 0 i lt 2 i pthread t tid
  • v3io,文件数量限制

    您知道限制或公式吗 如何计算 v3io 中的文件数量 它可能与集群中数据节点的数量和数据服务器节点上的内存大小有关 我尝试在 v3io 中使用 50 个和 8000 万个文件 它表现良好 但了解预期限制或一般建议很重要 顺便说一句 我没有这
  • 如何使用线程模块暂停和恢复线程?

    我有一个很长的进程 我计划在一个线程中运行 因为否则它会冻结我的 wxpython 应用程序中的 UI 我在用着 threading Thread target myLongProcess start 启动线程并且它可以工作 但我不知道如何
  • common lisp - 获取文件路径

    在 Common Lisp 中 有没有办法获取编译文件的路径 类似于当前目录 该文件不在当前目录文件夹内 这应该是一条评论 但我将提供一些可能对原始发布者有所帮助的代码示例 首先 你需要更清楚自己想做什么 您想要解决的问题是什么 其次 这里
  • 对于 Web 应用程序来说,正确的 MVC 图是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 哪个 MVC 图是正确的 每个都有不同的箭头 图1 图2 source stannard net au http blog stannard n