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

观察者模式 (Observer Pattern)

观察者模式(Observer Pattern)是一种行为型设计模式。它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。当主题对象的状态发生变化时,会自动通知所有观察者对象,使它们能够自动更新自己的状态。

一、基础

1. 意图

核心目的:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

2. 使用场景

典型应用

  • 当一个抽象模型有两个方面,其中一个方面依赖于另一个方面
  • 当一个对象的改变需要同时改变其他对象,而不知道具体有多少对象需要改变
  • 当一个对象必须通知其他对象,而又不希望与这些对象紧耦合

具体案例

  • 股票价格变动通知投资者
  • 气象站数据变化更新多个显示板
  • 电商系统中的库存变化通知
  • 社交媒体中的消息推送

3. 模式结构

  • 主题(Subject):也被称为被观察对象或可观察对象,它维护了一个观察者列表,提供了添加、删除观察者以及通知观察者的方法。
  • 观察者(Observe
http://www.xdnf.cn/news/156151.html

相关文章:

  • 游戏引擎学习第246天:将 Worker 上下文移到主线程创建
  • 如何给GitHub项目提PR(踩坑记录
  • windows下查看idea运行的进程占的JVM情况工具
  • olama部署deepseek模型
  • 从后端研发角度出发,使用k8s部署业务系统
  • gradle-缓存、依赖、初始化脚本、仓库配置目录详解
  • SpringBoot实现的后端开发
  • Ubuntu20.04 Ollama 配置相关
  • c++初始化数组
  • C语言中位段的应用
  • 【教程】Docker运行gitlab容器
  • 数据结构和算法(八)--2-3查找树
  • 什么时候使用Python 虚拟环境(venv)而不用conda
  • Qt软件开发-摄像头检测使用软件V1.1
  • python 与Redis操作整理
  • 血泪之arduino库文件找不到ArduinoJSON.h: No such file or directory错误原因
  • 学习记录:DAY18
  • AI日报 - 2025年04月26日
  • Yocto项目实战教程-第8章-树莓派启动定制镜像-8.4小节-使用Wic工具创建分区镜像
  • 毕业项目-基于java的入侵检测与防御系统
  • 字节 AI 原生 IDE Trae 发布 v1.3.0,新增 MCP 支持
  • 使用MyBatis注解方式的完整示例,涵盖CRUD、动态SQL、分页、事务管理等场景,并附详细注释和对比表格
  • Java爬虫入门:从网页抓取到数据提取(正则表达式篇)
  • 单例设计模式之懒汉式以及线程安全问题
  • 【计算机视觉】CV项目实战- 深度解析TorchVision_Maskrcnn:基于PyTorch的实例分割实战指南
  • 从“拼凑”到“构建”:大语言模型系统设计指南!
  • 【Vue】Vue3项目创建
  • 美团Java后端二面面经!
  • 【数论分块】数论分块算法模板及真题
  • # 家庭网络IPv6地址的一些知识