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

设计模式篇之 观察者模式 Observer

别名:事件订阅、监听

目的

观察者是一种行为型设计模式,它让你可以定义一种订阅机制,以便在观察对象发生任何事件时通知多个对象。

问题

假设你有两种类型的对象:客户和商店。客户对某个特定品牌的产品(比如,新款 iPhone)非常感兴趣,该产品很快就会在商店上架。

客户可以每天去商店查看产品是否有货。但在产品到货之前,大多数这样的行程都是毫无意义的。

去商店查看 vs  发送垃圾邮件

另一方面,每当有新产品到货时,商店可以向所有客户发送大量电子邮件(这可能会被视为垃圾邮件)。这将使一些客户免于无休止地前往商店。同时,它也会让那些对新产品不感兴趣的客户感到不满。

看起来我们遇到了一个冲突。要么客户浪费时间检查产品是否有货,要么商店浪费资源通知错误的客户。

解决方案

具有某些有趣状态的对象通常被称为主题,但由于它还将通知其他对象其状态的变化,我们将称其为发布者。所有希望跟踪发布者状态变化的对象都被称为订阅者。

观察者模式建议你在发布者类中添加一个订阅机制,以便单个对象可以订阅或取消订阅来自该发布者的事件流。别担心!这一切听起来并不复杂。实际上,

http://www.dtcms.com/a/491591.html

相关文章:

  • Tripo 3D AI 功能与技术解析
  • 千库网素材搜索引擎优化培训班
  • 能打开各种网站的浏览器appwordpress文章表情
  • docker学习 (3)网络与防火墙
  • 智元发布新一代工业级交互式具身作业机器人精灵G2,多场景“六边形战士” 首发前已获数亿元订单
  • 如何在线烧录梦丘MOS表情机器人固件
  • 河北省建设网站锁安装什么驱动网站制作效果好
  • 链式法则在神经网络中的应用:原理与实现详解
  • 前段模板网站南京网站开发南京乐识正规
  • K8s 核心架构是什么?组件怎么协同工作的?
  • C语言---函数
  • 做网站的费用入什么科目哈尔滨网站建设外包公司
  • YOLOv4深入解析:从原理到实践的全方位指南
  • MATLAB机器学习入门教程
  • 网站建设的好处论文网络营销以什么为中心
  • android studio设置大内存,提升编译速度
  • 从原理到实战:数据库索引、切片与四表联查全解析
  • 重庆建站免费模板mui做wap网站
  • 思想实验:如何使用MeshGPT?
  • Vue3 + TypeScript 实现 CAN 报文实时回放与合并显示
  • seo网站推广有哪些网站维护与优化教程
  • LeetCode 2598. 执行操作后的最大 MEX
  • 机器学习,深度学习,神经网络,Transformer的关系
  • 赣州市赣县区建设局网站wordpress 主题导出
  • 广州知名网站建设性价比高百度企业官网认证
  • Vue 前端面试题(含答案)大全 v2025
  • 智能化与绿色化:2025年巧克力加工设备市场发展趋势报告
  • 经营网站备案信息自己做网站 怎么赚钱
  • CLIP介绍
  • 网站文件夹结构wordpress 入侵