为什么代理模式是结构模式,为什么状态模式是行为模式?

2024-03-24

为什么代理模式是一种结构模式,为什么状态模式是一种行为模式。确定新模式应被视为结构性模式还是行为性模式的标准是什么?


如果重点是如何组织对象之间的关系以形成更大的组件,则模式是结构性的,而行为模式则重点关注对象职责的分配以及它们之间的通信

代理是结构性的,因为它充当另一个对象的代理,状态是行为性的,因为状态被传递给对象以影响其在运行时的行为。

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

为什么代理模式是结构模式,为什么状态模式是行为模式? 的相关文章

  • 工厂模式和策略模式

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

    我无法理解为工厂类定义抽象类 接口的作用 这是我在网络上的所有教程中总是看到的东西 有人可以阐明 CreatorInterface 的重要性吗 工厂模式参考UML图 https i stack imgur com 3VpUM png 为了以
  • 如何避免情绪低落?

    我有一个实现状态模式每个状态处理从事件队列获取的事件 根据State因此类有一个纯虚方法void handleEvent const Event 事件继承基础Event类 但每个事件都包含其可以是不同类型的数据 例如 int string
  • 处理大数据二进制文件

    我正在处理包含原始数据的大型二进制文件 每个大约 2 GB 这些文件具有明确定义的结构 其中每个文件都是一个数组events 每个事件都是一个数组data banks Each event and data bank有一个结构 header
  • 进度状态报告模式

    我正在实现需要显示进程栏 或进度百分比 的长时间运行的进程 长时间运行的过程的整体逻辑很复杂 各种分页数据检索 因此 我最终在代码中的不同位置硬编码了大量百分比 在更新完成百分比时 什么被认为是最佳设计模式 我发现 JFace 周围使用的模
  • 静态类与类的实例

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

    我喜欢史蒂夫 耶吉的原型模式示例 http steve yegge blogspot com 2008 10 universal design pattern html并决定快速制作一个概念验证示例 不过 我并没有真正考虑清楚 虽然它非常适
  • 是否有任何库可以解析Java中的“数字表达式”,例如1,2-9,33-

    我不认为这很难 只是写起来很乏味 一些小的免费 如啤酒 库 我可以在其中放入像 1 2 9 33 这样的字符串 它可以告诉我给定的数字是否与该数字匹配表达 就像大多数程序的打印范围对话框一样 仅匹配奇数或偶数 或匹配每个 2 mod 5 或
  • 包含其他类集合的类的设计(操作方法)

    如何设计涉及其他类集合的类 一般示例 A 工作空间包含数量Projects A Project包含大量资源 Each Resource可能包含大量Files 所以这里标识的类可以是 Workspace Project Resource 和
  • 这种模式叫什么?软锁?

    这是我有时必须编写的一些代码 大部分与 UI 内容结合使用 并且总是与可能意外陷入无限循环的事件相关 public class MyClass public event EventHandler MyEvent private bool I
  • 在事件聚合器中混合枚举与事件类

    我最近尝试实现自己的简单事件聚合器 我从 MSDN 上的事件聚合器文章中获得了很多灵感 关于 MSDN 上的事件聚合器 我注意到一件事是事件实际上是它们自己的类 这根本不是一件坏事 然而 我只是觉得总是为每个小事件创建一个新的空类很尴尬 我
  • Android:单一活动,多个视图

    我不是 Android 专业人士 尽管我开发了一个包含 50 多个活动的应用程序 这使得该应用程序非常庞大 经过8周的开发 现在出现了一些问题 导致应用程序难以维护和升级 我正在处理的主要问题是 我无法将对象引用传递给活动的构造函数 事实上
  • [GoF]-ConcreteSubject 可以覆盖通知方法吗?

    我正在模拟一种情况 其中存在 通知框 观察者 list1 list2 list3 这个科目 现在我会制作一张图表 其中使用观察者模式描述每个列表实现不同类型的notify 这一事实 例如 列表状态的某些变化只需要按照某些标准通知给某些观察者
  • 依赖注入容器——工厂模式

    我一直在尝试了解依赖注入 并一直在阅读并尝试编写一个类似于以下内容的小型依赖注入容器 http fabien potencier org article 12 do you need a dependency injection conta
  • 领域驱动设计示例(特别是 .NET 重点)

    好的 我已经订购了 但是当我等待它到达时 我正在考虑开始在我当前的项目中应用这些技术 我现在确实很好地掌握了这些概念 但是当我尝试应用它们时 我陷入了执行过程中 最终在各个项目中漏掉了我的职责 因此 我正在寻找可以引导我走向正确方向的资源
  • C++ OOP:将哪些函数放入类中?

    假设我有一个a类 class a public void load data private void check data void work data void analyze data 这些函数都对类或其成员之一执行某些操作 然而这个
  • 工厂设计模式

    我正在尝试实现工厂设计模式 并且到目前为止已经做到了这一点 import abc class Button object metaclass abc ABCMeta html def get html self html return se
  • 将状态上下文作为附加方法参数嵌入到状态中有何优缺点?

    在设计模式的背景下state 嵌入的优点和缺点是什么StateContext作为附加方法参数State 为了更清楚地说明 public void handle Object obj vs public void handle StateCo
  • 通过反思思考工厂设计模式

    我正在对工厂模式进行研发 我开发了下面的代码 现在我知道子类是 Dog 和 Cat 但是如果我想通过在 main 中传递类名来通过反射实现同样的事情 请告诉我该怎么做 爪哇 public abstract class Animal publ
  • 使用超类创建构建器时,父类无法返回子类的实例[重复]

    这个问题在这里已经有答案了 如果我使用构建器模式来配置新对象 我可能有两个类 例如Game and HockeyGame 如下所示 当我想创建一个新的HockeyGame 我得到它的构建器并开始调用方法来根据需要配置对象 我遇到的问题显示在

随机推荐

  • Linq to Xml,保持 XDocument 加载吗?

    假设我正在制作一个 WinForms 程序 它将在幕后使用 XML 文档作为持久机制 以下两种方法的优缺点是什么 在每个方法调用中加载 XDocument public class XmlFoosRepository string xmlF
  • 尝试用VBA做一些奇怪的事情(奇怪的情况)

    我在 excel 中有 2 个选项卡 我对 VBA 有点陌生 运营 Details Excel 视图 看看这个 操作 选项卡中的 描述 字段将包含不同的 操作代码 可能包含 1 个操作代码 2 个操作代码或更多 它是一个11 位数字 问题是
  • Admob 安全异常:权限被拒绝

    我点击 AdView 并打开阿里巴巴应用程序 https play google com store apps details id com alibaba intl android apps poseidonPlay商店页面 然后安装它
  • 有没有办法通过 Exchange PowerShell 查询谁是 activesync/bb 用户?

    有没有办法使用 powershell Exchange 插件查询 Exchange 2007 来区分谁是活动同步用户或黑莓用户 BBES 通常使用有权访问所有邮箱的服务帐户来执行其操作 您需要查看 BBES 服务器本身以找出哪些用户处于活动
  • Autoloader.php 第 34 行 phpExcel 发生致命错误

    我想使用 phpExcel 但运行脚本时出现此错误 Fatal error Uncaught exception PHPExcel Exception with message Multibyte function overloading
  • 从登录后的页面获取 HTML

    这个问题是我的后续问题上一个问题 https stackoverflow com questions 56279 export aspx to html关于从 ASPX 页面获取 HTML 我决定尝试使用 webclient 对象 但问题是
  • 有什么方法可以在 Sql Server 和 PostgreSQL 上执行“where booleanvalue=false”吗?

    我正在尝试使应用程序能够在 Sql Server 和 PostgreSQL 上运行 我似乎找不到一个通用的表达方式 基本上是 select from table where booleancol false 在 SQL Server 上我必
  • Firestore:id 在集合中还是全局中是唯一的?

    对于我的数据库的结构 我需要知道 Firebase Cloud Firestore 中自动生成的标识符在集合或整个数据库中是否唯一 怎么做 调用生成的密钥add https firebase google com docs firestor
  • 根据屏幕分辨率调整 WPF 窗口和内容的大小

    我有一个 WPF 应用程序 每个窗口上都有多个控件 有些是重叠的等 我需要的是一种让应用程序根据屏幕分辨率自动调整自身大小的方法 有任何想法吗 语法 Height Binding SystemParameters PrimaryScreen
  • 即使在 docmd.close 之后,表单也将我的桌子紧紧锁定

    抱歉 大家的文字墙很长 但这需要解释 要发布的代码太多了 我正在将固定宽度文件导入到需要数据输入的方法中 我使用transferText 将文件导入到两个规范中 一个是全局的 另一个是特殊情况 我有一个函数 它使用 DAO 循环遍历 Tab
  • 如何排除 vue 文件夹在 vite 中构建?

    是否可以从 vite 构建中排除完整 延迟加载 文件夹 如果是这样怎么办 import defineConfig from vite import resolve as resolver from path import vue from
  • 命令行 XRandR 和自己的代码之间的差异

    我需要以编程方式获取显示器的刷新率 当我打字时xrandr 1 4 1 opensuse 13 在命令行上我得到 Screen 0 minimum 8 x 8 current 1920 x 1200 maximum 16384 x 1638
  • 如何从 JavaScript 对象中删除 setter?

    考虑以下代码 var x 0 var o function getter return x Object defineProperty o y get getter set function y x y Object definePrope
  • 将文本文件传递到标准输入

    以下代码是较大翻译程序的一部分 下面的代码要求用户输入一行 而不仅仅是将其写回 有没有一种方法可以让我不用每次都写一行 而是在标准输入中传递整个文件等 translate txt 程序可以将其逐行写回 并在行尾时产生错误到达了 includ
  • Angular 5将单击事件的数据从父组件传递到在父组件上单击按钮的子组件

    我在表中有一些数据绑定 单击任何特定的我想将当前单击的对象显示更多相关数据到另一个组件 子组件 例如我从此链接获取的数据 http jsonplaceholder typicode com users http jsonplaceholde
  • R - 识别哪些列包含货币数据 $

    我有一个非常大的数据集 其中一些列格式为货币 一些数字 一些字符 读取数据时 所有货币列都被识别为因子 我需要将它们转换为数字 数据集太宽 无法手动识别列 我试图找到一种编程方法来识别列是否包含货币数据 例如以 开头 然后传递要清理的列列表
  • 检测客户端已与 TCP/IP 断开连接的正确方法

    我使用了异步 TCP IP 服务器 一切正常 但是当客户端由于错误或应用程序强制退出而断开连接时 它也会由于 IO IOException 类型的异常而关闭我的服务器 异常发生在以下子程序中 Private Sub ReadCallback
  • Java Spring JPA 分页如果超过一页则不起作用

    我正在尝试将 jpa 分页与自定义查询一起使用 如果匹配 2 个案例 则分页有效 Case 1 如果可用数据少于 10 个且页码为 0 的请求 如果不是 则请求不起作用 and Case 2 如果可用数据超过 10 个且页码为 1 的请求
  • 从 USB 密钥使用 Subversion

    这些天我要把一些工作带回家 并通过 USB 密钥传输 因为我的工作位于私人 Intranet 上 我正在使用 Visual Studio 2008 我发现构建的性能因关闭密钥而降低 我最初的提高性能的想法是使用 Robocopy 在本地镜像
  • 为什么代理模式是结构模式,为什么状态模式是行为模式?

    为什么代理模式是一种结构模式 为什么状态模式是一种行为模式 确定新模式应被视为结构性模式还是行为性模式的标准是什么 如果重点是如何组织对象之间的关系以形成更大的组件 则模式是结构性的 而行为模式则重点关注对象职责的分配以及它们之间的通信 代