MVC、控制器 - 用例

2023-12-22

我了解到,您应该在 MVC-OOD 中将控制器类设置为用例,从上到下仅使用一种运行 MVC 类的方法。

是否可以在一个控制器中使用不同的方法来获得更多控制和更好的概览?

假设您想要运行一个控制器来显示登录表单(从视图获取 html 等)。如果用户未登录,同一控制器还将显示注销按钮。 这可以通过控制器中的单个方法来完成,但使用两种方法似乎更好。如果您需要登录表单,则调用一种方法;如果您想要注销按钮,则调用一种方法。 (只是一个例子)

那么,专业人士怎么说。每个控制器应该只包含一个“用例”方法,还是可以包含多个?


TL;DR -- you have misunderstood the MVC design pattern and are doing it wrong.

控制器不负责呈现界面,也不负责表示逻辑。控制器不display任何事物。相反,每个控制器的方法处理不同的用户请求。它从所述请求中提取数据并将其传递到模型层和关联的视图。

关于显示内容和如何显示的决定属于视图的范围。视图包含 MVC 模式中的表示逻辑。在 Web 应用程序的上下文中,视图创建响应。他们可以从多个模板组成一个模板,或者只发送一个 HTTP 标头。

控制器可以通过将请求的某些特定值传递给关联视图来向该视图发出信号,但视图中的大多数决策都是基于视图从模型层中的不同服务请求的信息。

控制器的方法基于用户可以发送的请求类型。例如,在身份验证表单中,它可能是:GET /login and/or POST /login.

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

MVC、控制器 - 用例 的相关文章

  • 在 spring3 控制器上返回“ModelAndView”或“String”哪个更好

    ModelAndView的返回方式 RequestMapping value list method RequestMethod GET public ModelAndView list UserAuth UserAuth user Mod
  • 催化剂控制器问题

    我刚刚在我的第一个大型项目中使用了催化剂 我想知道我是否按照预期的方式使用了催化剂 我有 Root pm 在该文件中我放置了多个 url 处理程序 每个 url 有一个控制器是最佳实践还是应该考虑分组 Catalyst 的优点之一是它的灵活
  • 在轨道上使用回形针宝石红宝石的视图中从不同视图访问图像

    我是 Ruby on Rails 的新手 正在学习它 我想在另一个视图中访问由回形针 gem 存储的图像的表 例如在我的应用程序中 我有原因控制器 我可以通过以下代码访问存储在表中的视图原因中的图像 image tag cause imag
  • 方法控制器不存在。

    所以我又使用了这个格式 在我的routes php中我有 Route controller datatables HomeController PaymentsData gt payments data getIndex gt datata
  • 排序逻辑应该放在模型、视图还是控制器中? [关闭]

    想要改进这篇文章吗 提供此问题的详细答案 包括引用和解释为什么你的答案是正确的 不够详细的答案可能会被编辑或删除 Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有一个下拉列表 向最终用户显
  • MVC 与观察者模式

    我最近在 StackoverFlow 上问了一个关于 MVC 的问题 MVC设计模式 架构模式可以用于桌面应用程序开发吗 https stackoverflow com questions 305988 can the mvc design
  • 具体来说,什么属于模型、视图和控制器?

    我一直在学习模型 视图 控制器范例 MVC 但我很困惑 因为有些教程与其他教程相矛盾 我目前对这个过程的理解是这样的 路由器 调度器 前端控制器 尽管 MVC 名称中没有具体提及 但 Router 仍然是一个非常重要的部分 正是在这里 请求
  • 为树视图创建 Qt 模型

    我正在用 Qt 使用 C 编写一个应用程序 我需要在树视图中表示一个对象结构 实现此目的的方法之一是为此创建一个模型 但在阅读有关该主题的 Qt 文档后我仍然很困惑 我的 结构 非常简单 有一个Project持有的物体Task中的对象std
  • 如何在中等规模的 Rails 应用程序中组织控制器?

    我正在开发一个具有相当多相关模型的应用程序 并且想听听一些关于如何最好地组织控制器的意见 以下是我一直在考虑的一些选择 1 为控制器命名空间 例如 有一个controllers admin 目录和一个controllers public 目
  • Objective C 视图到控制器通信

    在视图中接受用户输入然后将其传输到该视图的控制器的正确方法是什么 我知道通知中心是一种选择 但肯定有一种更优雅的方式将数据从视图传输到其控制器吗 非常感谢所有帮助 我总是接受答案 使用委托协议设计模式 或通过子类化目标操作UIControl
  • Cakephp:将 AppController 抽象到另一个层次,可能吗?

    我想知道是否可以在 AppController 和我的应用程序的其他控制器之间添加另一个抽象控制器 这样我的控制器 例如UsersController 扩展了 SecureController SecureController 扩展了 Ap
  • 如何在 Rails 4 中“link_to”完整路径?

    这是我的代码 a a 从上面
  • Kubernetes Pod 动态环境变量

    我需要能够将自定义环境变量分配给 Pod 的每个副本 一个变量应该是一些随机的 uuid 另一个唯一的数字 怎么可能实现呢 我更愿意继续使用带有副本的 部署 如果这不是开箱即用的 如何通过自定义复制控制器 控制器管理器来实现 有没有可用的钩
  • Ember JS 过渡到嵌套路由,其中​​所有路由都是视图中的动态段

    我们正在使用 EmberJS 编写一个应用程序 然而 我们对这个框架仍然陌生 我们很难解决一些看似简单的问题 模型非常简单 有 3 个模型 Queue Task 和 Image 我们对所有路由使用动态 URI 段 并且这些模型的路由嵌套在以
  • 就MVC模式而言,Struts 2中使用的Action是什么?

    在Struts2中 控制器将请求分派给Action Action将其传递给后端逻辑 这可以看作是一个非常大的过程 model 处理请求 JSP代表视图 Struts2中如何定义Action 肯定是not一个看法 是控制器还是模型 Strut
  • CodeIgniter:将参数从视图传递到控制器?

    编辑 现在使用下面的代码 我不确定如何正确打印书签和标签 我对 CI 完全陌生 最近遇到了障碍 我非常不确定如何将函数参数从视图文件传递到控制器 以便我可以在函数上使用它 我在视图上有一个 foreach 循环 遍历函数 get lates
  • 如何通过 FluentValidation 验证上传的文件

    如何使用 FluentValidation 验证上传的文件
  • 无法在 VB MVC 应用程序中创建 HtmlHelper 方法

    我无法弄清楚以下代码中缺少什么 我有一个应该添加 虚拟 辅助扩展的方法 Imports System Runtime CompilerServices Namespace HtmlHelpers Public Module HelpExte
  • 多重要求和允许强参数rails 4

    在下面的情况下 我尝试使用强参数 我想要求email address password并允许remember me fields 但像下面这样使用它只允许最后一行在方法示例中 在下面的情况下 它只需要params permit rememb
  • UML 图 - 在我的应用程序中发送电子邮件被视为外部系统

    我的应用程序有一个联系选项 它将打开带有按摩页面的电子邮件应用程序 并且消息接收者设置为应用程序支持电子邮件 我已附上我的意思的图片 我已将其编写为需求 但不确定如何在系统类图和用例图中说明它 我最初在用例图中所做的是 将我的用户 主要参与

随机推荐

  • 列出具有架构名称的所有存储过程

    任何人都可以建议一种列出数据库中所有存储过程及其模式名称的方法吗 谢谢 SELECT schema OBJECT SCHEMA NAME object id name FROM sys procedures or SELECT schema
  • 如何分步“验证”Symfony 表单 - 而不是调用 $form->isValid()

    我在 Ubuntu 上使用 Symfony 1 3 6 我有一个包含很多字段的表单 我不想一次性显示所有字段 这可能会吓到用户 而是想将表单分成多个阶段 以便用户可以仅填写显示的字段 在每个步骤 阶段 有点像向导 为此 我需要为表单编写自定
  • 了解 Git 和 GitHub 的基础知识 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我不完全理解使用Git或Github的目的 我知道这有助于跟踪您的更改 并且有助于人们与其他人合作 但我不与任何人合作 所以我不知道这
  • 显示导致冲突的提交的作者和提交消息

    我有两个长期运行的分支dev 以及一个遥远的未来版本称为future 我们通过从显示错误的标签分支 修复它 然后向两个分支打开拉取请求来为受支持的版本创建修复程序 如果 未来 分支中存在冲突 我们的开发人员应该创建一个新分支 解决冲突 并向
  • Python 3tell() 在追加+读取模式下与文件指针不同步

    与 Python 2 2 7 15 不同 当打开二进制文件进行追加和读取时 我在 Python 3 3 6 5 中看到奇怪的 f tell 行为 如果当前查找位置为n字节时写入not在文件末尾 以下事情似乎按预期发生 文件指针移至文件末尾
  • 如何在flutter中使用运行时下载的本地化arb/json文件?

    我读了很多关于 flutter 本地化的教程和博客 他们使用 arb json 文件从 asset 文件夹或 l10n 文件夹进行本地化 那是固定的语言列表 意味着如果我使用英语本地化 现在在运行时我想向用户提供西班牙语 中文 意大利语 法
  • spring mvc中如何将用户表单数据发送到服务器

    我有一个这样的登录表单
  • C#。执行 if( a == (b 或 c 或 d))。是否可以?

    还有另一种方法可以写这样的东西 if a x a y a z 我发现的一种方法是这样做 if new x y z Contains a 还有其他好的方法吗 我经常使用模仿 SQL 的扩展方法IN public static bool IsI
  • 当 Observable/Completed 完成或释放时,RxJava2 获取事件

    当我订阅时我需要显示一个进度对话框Completable并在操作完成 成功或有错误 或取消后隐藏它 So I do final Completable completable notificationRepository markAllAs
  • Graphviz:如何在 HTML 表格单元格之间创建边缘?

    请考虑以下代码 digraph G node shape plaintext a label lt table border 0 cellspacing 0 tr td first td tr tr td second td tr tr t
  • 单元测试复合函数

    假设你有 3 个函数 函数 函数和函数 function 依赖于 functionAL 和 function functionA a return a functionB b return b functionC a b return fu
  • 在 vi 中自定义单词分隔符

    vi 对待破折号 和空间 作为命令的单词分隔符 例如dw and cw 有没有办法加下划线 还有 我经常想更改变量名中包含下划线的部分 例如更改src branch to dest branch 我最终计算字符并使用s like 3sdes
  • 泽西岛制作媒体类型冲突

    我现在正在尝试 Jersey 随后this http netbeans org kb docs websvc rest html在 netbeans 中设置 Web 服务的链接 我有我的实体类和 REST 类 它可以从 javafx2 客户
  • 带方括号的编码 URL。 Chrome/Firefox/IE 中的不同行为

    我有一个看起来像这样的链接 它有点难看 因为它是 URL a href items fc 5B 5D 12345 amp fc 5B 5D 56789 amp utf8 E2 9C 93 foo a 明确一点 它是 URL 编码并转换为 a
  • 如何让 python 等待 Excel 宏/刷新完成

    我正在使用 Python 在 Excel 中运行宏 我希望Python关闭excel 该宏刷新 Excel 中的数据连接 这可能会很慢 我如何让 python 等到刷新完成才关闭 这就是我正在使用的 我在 xl Quit 之前需要一些东西
  • Nodejs 加密与 python hashlib

    我试图让 python 函数和 nodejs 函数计算相同的哈希值 然而 nodejs crypto 和 python hashlib 之间输出的二进制文件似乎不同 我使用的Python是 hash hashlib sha512 hash
  • 从 Activity 打开片段

    我正在开发一个小型谷歌地图应用程序 它可以让用户找到靠近他们的地方 我想添加功能 让用户将一个地方添加到收藏夹列表中 到目前为止 我创建了可以执行该功能的类 我的主要活动是我的主页 它打开其他活动 代码如下 import android a
  • 修复 Ember 1.12.0 中初始化程序的弃用问题

    我指的是 Ember 1 12 中引入的这一特定弃用 lookup被要求登记 这initializerAPI 不再 收到一个容器 你应该使用instanceInitializer到 从容器中查找对象 我查看了指南 但不确定如何解决这个问题
  • 在运行时在 WPF RichTextBox 中的新行中添加文本

    我想在运行时在 WPF RichTextBox 中的新行中添加一些文本 我可以使用以下方法来做到这一点 FlowDocument mcFlowDoc new FlowDocument mcFlowDoc richTextBox Docume
  • MVC、控制器 - 用例

    我了解到 您应该在 MVC OOD 中将控制器类设置为用例 从上到下仅使用一种运行 MVC 类的方法 是否可以在一个控制器中使用不同的方法来获得更多控制和更好的概览 假设您想要运行一个控制器来显示登录表单 从视图获取 html 等 如果用户