控制员应该与演示者交谈吗?

2023-12-22

In the 干净的架构 https://www.youtube.com/watch?v=WpkDN78P884作者:Robert Martin,假设我有这个简化版本(不显示模型、网关、边界等其他内容):

现在假设我有一个View有 2 个按钮,Dark and Light,单击时应更改背景颜色View并在屏幕上显示一些文本(文本的颜色应始终为蓝色)。 所以我想到了这样的事情:

假设这里我必须在控制器中对两个按钮使用一种方法(可能因为它是一种表单或其他什么),button变量在buttonClicked(button)将包含有关是否Dark or Light按钮被按下。

现在Interactor在这种情况下,只负责检索要显示的文本,但它不需要知道任何有关背景颜色的信息。

因此,控制器应该告诉演示者选择了哪种颜色(即按钮),还是我应该将此信息转发给演示者Interactor只是为了它可以将其传递给Presenter?请记住,Interactor甚至不会使用这些信息。


None

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

控制员应该与演示者交谈吗? 的相关文章

  • 如何发出 JMS 同步请求

    我有一个 Web 应用程序 预计将从外部应用程序获取和显示数据 该外部应用程序只能通过消息传递 JMS 访问 因此 如果用户在浏览器上提交请求 则同一 HTTP 请求线程将必须与消息系统 MQ 系列 交互 以便同一请求线程可以显示从消息系统
  • 托管扩展性框架 (MEF) 与复合 UI 应用程序块 (CAB)

    我们目前正在考虑在下一个应用程序中使用 CAB 或 MEF 我没有在 Codeplex 上看到任何有关如何处理同级控制通信的事件代理的示例 也许我错过了 MEF 中的控制间通信如何工作 此外 我们计划使用 Infragistics 它为 C
  • 您会在新的商业项目中使用 S#arp 架构吗?

    The S arp 架构 http code google com p sharp architecture 看起来真的很酷 但是您是否认为它仍然太新而无法在重要的新项目中做出承诺 我们假设该项目乍一看很适合它 It all seems非常
  • 插件架构中的反射与属性

    我正在开发一个在启动时从子目录加载插件的应用程序 目前我正在通过使用反射来迭代每个程序集的类型并查找实现 IPluginModule 接口的公共类来实现此目的 由于反射涉及性能影响 并且我预计一段时间后会有多个插件 我想知道定义在程序集级别
  • 就MVC模式而言,Struts 2中使用的Action是什么?

    在Struts2中 控制器将请求分派给Action Action将其传递给后端逻辑 这可以看作是一个非常大的过程 model 处理请求 JSP代表视图 Struts2中如何定义Action 肯定是not一个看法 是控制器还是模型 Strut
  • “if”在 ASP.NET MVC View (.aspx) 文件中被认为有害?

    我记得看到一个博客 或其他内容 说你不应该在 ASP NET MVC 的 aspx 文件中使用 但我不记得它说的替代方案是什么 有人记得看过这个并指出我吗 基本上 这意味着您的视图中不应该有大量的 if 语句 您的控制器和视图模型应该能够处
  • 您的 Web 服务版本控制最佳实践是什么?

    我们有 2 个独立的产品 需要通过 Web 服务相互通信 支持 API 版本控制的最佳实践是什么 I have 本文 http www ibm com developerworks webservices library ws versio
  • 如何在不同的分辨率/屏幕上提供相同的应用程序

    Scenario 您需要在不同的屏幕上展示相同的应用程序 假设标准的 15 英寸 17 英寸 便携式 10 英寸和移动 4 英寸 可能在不同的分辨率下工作 Question 您是否尝试采用一种根据可用空间重新排列的流动布局 或者您是否滚动
  • Ember.JS - 如何在同一页面中使用多个模型、控制器和视图?

    我主要了解 Ember JS 的基础知识 大多数示例实际上只处理单个控制器和模型以在页面上显示某些内容 我真的很想用 Ember 构建一个完整的 Web 应用程序 所以有人能告诉我如何组织和连接多个控制器 模型和视图到一个页面中吗 例如 如
  • 除了 Erlang 之外,还有哪些系统是基于“绿色流程”的?

    我正在阅读这个信息页面绿线 维基百科 http en wikipedia org wiki Green thread我想知道 除了 Erlang 之外 还有哪些编程系统依赖于 绿色进程 Edit 绿线 绿色流程 基于绿色流程 Erlang
  • 无法构造 String 类型

    我正在使用 Web api 和 Unity 并且在尝试打开默认 帮助 区域时收到以下错误 InvalidOperationException The type String cannot be constructed You must co
  • gpg:抱歉,根本没有请求终端 - 无法获取输入

    解密时出现以下错误 eyaml decrypt s ENC and the key goes on here gnupg quiet no secmem warning no permission warning no tty yes de
  • 管理软件的演示版本[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个用VB6编写的软件产品 它是一个付费软件产品 有1个月的演示版本 演示版本没有单独的安装文件 输入产品密钥后 软件会将演示版本
  • 将用户数据存储在身份验证服务器或资源服务器中?或两者?

    这是我第一次使用 IdentityServer 4 和 AspNetIdentity 设置 OpenID Connect 我希望有人能够揭开有关存储用户数据的部分的神秘面纱 到目前为止我读到的是 用户数据应该存储在连接到身份验证服务器的身份
  • 分层架构中的异常处理

    我们正在分层设计中重构 当然还有重新设计 我们的服务 我们有服务操作层 BLL 网络抽象层 gt 处理网络代理 数据抽象层 但我们对我们的异常处理策略有点困惑 我们不想向外界透露太多 BLL 的信息 从其他层到bll就可以了 我们不想让 t
  • django npm 和 Node 包架构

    在我加入的项目中 这是以下架构node packages Django project app1 app2 node modules foundation sites grunt static css images js urls py s
  • 在 MVC 4 中为 3 层架构配置 Ninject

    目前 我正在构建一个两层的网站 Web UI 这是一个MVC 4项目 用于与用户交互 数据访问 这是一个 C 库 该层负责与数据库交互 我正在使用 Ninject 进行依赖注入 到现在为止 还好 但现在 我想在 Web UI 和数据访问之间
  • 保持服务器和客户端之间的验证逻辑同步[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 In my 上一个问题 https stackoverflow com questions 39371 database exception h
  • ASP.Net MVC 在哪里从实体转换为视图模型?

    标题几乎解释了一切 这是我在我们的项目中尝试做的最后一件事 我们的结构是一个服务库 其中包含这样的功能
  • 在方法之间重用PreparedStatement?

    We all know https stackoverflow com questions 2467125 reusing a preparedstatement multiple times that https stackoverflo

随机推荐

  • 无法打开源文件“begin_code.h”(“SDL2/SDL.h”的依赖项)

    当尝试在 Ubuntu 20 01 LTM 中使用 VS Code 设置 SDL2 时 我收到以下 VS Code 错误 cannot open source file begin code h dependency of SDL2 SDL
  • Electron - jQuery 错误

    我正在开发一个 Electron 项目 当尝试包含 jQuery 时 我收到此错误 C Users Matthew Documents Electron ElectronProjects Iris js jquery min js 4 Un
  • 将动态变量发送到 SASS [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我目前正在开发一个新项目 该项目允许用户根据自己的喜好更改网站的外观 他们可以更改背景颜色和内容 这些内容可以保存在数据库中供以后使用 也可以存
  • OpenJDK JVM 不会在多核上调度线程

    当我在随 Ubuntu 12 04 一起分发的 OpenJDK 6 JVM 上运行多线程 Java 程序时 所有线程都调度在单个内核上 但是 当我在 Oracle 最新的 1 7 JDK 的 JVM 上运行完全相同的程序时 它可以很好地围绕
  • NSString 的长度(以字节为单位)是多少?

    如何获取字节长度NSString if myString包含 你好 myString length将返回 5 但是实际占用了多少字节 NSString test ABCDEFGHIJKLMNOPQRSTUVWXYZ NSUInteger b
  • 将美元金额(小数)除以整数

    我需要为我正在构建的程序编写一个会计例程 该例程将使我能够将小数除以整数 例如 143 13 5 28 62 28 62 28 63 28 63 28 63 我在这里看过这篇文章 C 中的均分 https stackoverflow com
  • Windows 7 启动选项允许忽略未签名的驱动程序

    我正在学习 Windows 内核模式驱动程序开发 我编写了一个小型测试驱动程序 可以在 VirtualBox 中的 VM 下运行的 Windows 7 32 位 Ultima 版本下成功注册 取消注册 加载和卸载 我的主机是Windows
  • 将具有多个应用程序页面的 Chrome 扩展程序移植到 Firefox

    Chrome 我有一个 Chrome 扩展 其行为类似于 Web 应用程序 除了使用 chrome API 和跨源请求 其中包含多个 html 页面 这些页面都使用背景 html与 NPAPI 插件通信 扩展的结构 从扩展的根开始 如下 背
  • 为什么在 Grails 中使用

    如果您已经熟悉标准 HTML 表单标签 那么在 Grails 中使用 g textField 的原因是什么 如果我理解正确 以下两个标记替代方案是等效的
  • 当我声明通用“T 数组”时,如果出现内部错误,我该怎么办?

    该单元无法在 XE2 Update 3 中编译 并显示 DCC Fatal Error Test pas 22 F2084 Internal Error URW1147 unit Test interface type TSorter
  • 使用/ Python 附加到 Pandas 数据框时保留标题

    因此 我正在解析许多文件中包含的数据 循环遍历它们并将某些元素存储在列表中 然后使用 Python 将每个结果列表附加到 Pandas 的数据帧中 它有效 但我不知道如何在附加时保留标题行 它要么消失 要么随每个追加而重复 以下代码作为最新
  • Notepad ++ 中的开关字位置

    我的文字如下所示 Text1 Text2 Text3 Text4 Text5 Text6 Text7 我想像这样改变文本位置 Text1 Text4 Text5 Text6 Text2 Text3 Text7 如果可以删除 在文本 4 5
  • Eclipse 上的 Android 模拟器不工作

    我一直在遵循以下位置的说明http developer android com training basics firstapp running app html http developer android com training ba
  • WordPress 页面 ID 不是帖子 ID

    有没有办法获取当前页面的ID 该页面循环显示帖子 我需要在 header php 中获取此 ID here I added posts 这取决于您想从哪里获取此 ID 如果您尝试在已设置为显示帖子的页面 即设置为 博客 的页面 上获取它 则
  • 我是否需要 Mac 来开发 Azure Xamarin.iOS 应用程序?

    常规 Xamarin 不是 Azure 版本 显然需要运行 Mac OS X 的 Mac 计算机来开发 iOS 应用程序 但在 Microsoft Azure Xamarin iOS 文档中 任何地方都没有这样的先决条件 这是否意味着我可以
  • 如何调用dll注入中的特定函数?

    以下代码将注入 dll 并调用 DllMain 如何从 DLL 调用特定函数 而不仅仅是 DllMain DWORD pid HANDLE hd LPVOID gp rs proc gp LPVOID GetProcAddress GetM
  • unix 命令行中类似于 Matlab 的命令历史检索

    Matlab 有一个非常好的功能我很喜欢 假设我输入了命令very long command然后是几个命令 然后如果我再次需要长命令 我只需输入very然后按向上箭头键 我的长命令就会出现 它找到最后一个以very 我无法在 unix 命令
  • 失去焦点时关闭即时验证

    我使用 dojo 作为客户端框架 我有一个ValidationTextBox call txtName如下图所示 In txtName required is set required true 如果我失去焦点并离开txtName空 选项卡
  • Pandas:如何在稀疏表中选择具有非零值的列

    我有一个包含 2000 列的稀疏表 我想选择一些特定的行及其非零值 我该怎么做 id name e1 e2 e3 e4 e550 e1200 e1760 e2000 1 engine1 0 0 0 2322 1300 140 0 2 eng
  • 控制员应该与演示者交谈吗?

    In the 干净的架构 https www youtube com watch v WpkDN78P884作者 Robert Martin 假设我有这个简化版本 不显示模型 网关 边界等其他内容 现在假设我有一个View有 2 个按钮 D