当前位置: 首页 > news >正文

设计模式-观察者模式、命令模式

观察者模式

Observer(观察者)—对象行为型模式定义:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,在它的状态发生变化时,会通知所有的观察者.

先将 Observer A B C 注册到 Observable ,那么当 Observable 状态改变时会通知它持有的所有 Observer

设计原则:

• 遵循迪米特法则

• 开闭原则

适用场景分析:

1.事件多级触发场景,如bean生命周期产生的事件。

2.跨系统的消息交换场景,如消息队列的处理机制。

命令模式

Command(命令)—对象行为型模式定义:将一个请求封装成一个对象,以便使用不同参数来表示不同的请求(即命名)。

Action 封装了具体行为,Command 封装了 Action 并提供空方法 execute() ,它的子类通过重写该方法可在方法里调用 mAction 不同行为达到封装命令的目的。

设计原则:

• 遵循迪米特

• 单一职责

• 开闭原则适用场景分析:

1.在GUI开发中,一个按钮的点击是一个命令,可以采用命令模式;模拟DOS命令的时候,当然也要采用命令模式。

2.智能家居、机器人的指令封装。

http://www.lryc.cn/news/579760.html

相关文章:

  • STM32要学到什么程度才算合格?
  • HTTP详细介绍
  • 【BurpSuite 2025最新版插件开发】基础篇7:数据的持久化存储
  • serviceWorker缓存资源
  • P1073 [NOIP 2009 提高组] 最优贸易
  • 【数字后端】- 衡量design的congestion情况
  • 【HarmonyOS】应用开发拖拽功能详解
  • MySQL 8.0 OCP 1Z0-908 题目解析(17)
  • 高边驱动 低边驱动
  • IOC容器讲解以及Spring依赖注入最佳实践全解析
  • 【数据结构】哈希——闭散列/开散列模拟实现(C++)
  • 魔术方法__call__
  • Java的SpringAI+Deepseek大模型实战之会话记忆
  • Python入门Day2
  • 网络编程学习路线图
  • Windows 10 2016 长期服务版
  • 7.3实验部分
  • 工程化实践——标准化Eslint、PrettierTS
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | DragNDrop(拖拽占用组件)
  • Selenium 自动化测试中跳过机器人验证的完整指南:能用
  • 供应链管理:采购与供应链管理中的核心分析工具
  • js代码中的作用域
  • Linux: perf report数据对比,python
  • ArcGISPro应用指南:ArcGISPro制图全流程详解
  • Java综合练习04
  • 优化Facebook广告投放的五大关键策略
  • 机器学习安装使用教程
  • SpringSecurity01
  • win11设置任务栏为顶部
  • 「Java流程控制」循环综合应用