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

软件工程(十七) 行为型设计模式(三)

1、观察者模式

简要说明

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

速记关键字

联动,广播消息

类图如下

在这里插入图片描述

基于上面的类图,我们来实现一个监听器。类图中的Subject对应我们的被观察对象接口(IObservable),Observer对应我们的监听器接口(IListener)

我们实现被观察对象出现变化,然后通知所有的监听器实现类, 此接口我们参考JDK的观察者实现

Java代码实现

/*** 可观察目标接口,一般需要实现观察者的注册,移除,和通知等接口*/
public interface IObservable {// 注册观察者void registerObserver</
http://www.lryc.cn/news/147724.html

相关文章:

  • 在抖音中使用语聚AI,实现自动回复用户视频评论、私信问答
  • pyqt5-快捷键QShortcut
  • 匿名函数( lambda 表达式)
  • 基于SSM的汽车维修管理系统——LW模板
  • Ceph的纠删码特性 EC(Erasure Code)代码流程
  • 盘点那些国际知名黑客(上篇)
  • 机器学习基础12-Pipeline实现自动化流程处理(基于印第安糖尿病Pima 数据集)
  • Ansible学习笔记15
  • 圆圈加数字的css
  • YOLOV5/YOLOV7/YOLOV8改进:用于低分辨率图像和小物体的新 CNN 模块SPD-Conv
  • Docker数据管理(数据卷与数据卷容器)
  • 大量TCP连接滞留TIME_WAIT、SYN_SENT、CLOSE_WAIT状态的分析
  • kotlin怎么定义类
  • 如何查看数据集下载后保存的绝对路径?
  • 使用php实现微信登录其实并不难,可以简单地分为三步进行
  • 【LeetCode-中等题】24. 两两交换链表中的节点
  • 5.10 汇编语言:汇编过程与结构
  • 【每日一题Day304】LC1267统计参与通信的服务器 | 哈希表
  • 深度解读零信任身份安全—— 全面身份化:零信任安全的基石
  • 音视频 ffmpeg命令提取音视频数据
  • vscode 配置
  • 企业数字化管控平台及信息化治理体系建设方案(附300份方案)
  • ABB PCD231B通信输入/输出模块
  • 在springboot项目中显示Services面板的方法
  • spring之AOP简介
  • ros::init用途用法
  • 逻辑回归的含义
  • 解决Apache Tomcat “Request header is too large“ 异常 ‍
  • 腾讯音乐如何基于大模型 + OLAP 构建智能数据服务平台
  • Java 16进制字符串转换成GBK字符串