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

回调与观察者模式区分

回调是观察者的具体一个业务实现,其他地方也有回调实现。

观察者设计模式:

  • 1、主题(提供注册、解绑观察者、通知观察者)
  • 2、观察者(业务方继承3,每一个观察者业务的逻辑不一样)
  • 3、观察者接口(规范了要做的事情)
代码逻辑```bash
// 观察者接口
interface Observer {void update(String message);
}// 主题类
class Subject {private List<Observer> observers = new ArrayList<>();// 注册观察者public void subscribe(Observer observer) {observers.add(observer);}// 注销观察者public void unsubscribe(Observer observer) {observers.remove(observer);}// 通知所有观察者public void notifyObservers(String message) {for (Observer observer : observers) {observer.update(message);}}
}// 具体观察者
class ConcreteObserver implements Observer {@Overridepublic void update(String message) {System.out.println("Received message: " + message);}
}// 客户端代码
public class ObserverPatternDemo {public static void main(String[] args) {Subject subject = new Subject();Observer observer1 = new ConcreteObserver();Observer observer2 = new ConcreteObserver();subject.subscribe(observer1);subject.subscribe(observer2);// 当主题状态变化时,通知所有观察者subject.notifyObservers("State has changed!");}
}
```

http://www.mrgr.cn/news/11137.html

相关文章:

  • 《计算机操作系统》(第4版)第10章 多处理机操作系统 复习笔记
  • 【MySQL数据库管理问答题】第8章 维护稳定的系统
  • Jenkins发邮件功能如何配置以实现自动化?
  • 需方软件供应链安全保障要求及开源场景对照自评表(上)
  • Unity 编辑器-监听创建控件,prefab创建或添加组件的自动处理⭐
  • python源码:基于fastapi+websocket双向信息通道的简易网页聊天室
  • HR招聘面试测评工具,DISC性格测试,disc行为风格
  • 【案例58】WebSphere输出日志输出慢导致线程被阻塞
  • word技巧:保护Word文档页眉,确保内容不被随意修改
  • 什么牌子的运动耳机最好用?五大绝佳臻品细致汇集!
  • 入门STM32--按键输入
  • Jmeter下载、配置环境变量
  • 制造业中的MES知识与ERP\PLM\WMS架构关系(附智能制造MES解决方案PPT下载)
  • ES6笔记总结:第四天(ES6完结)
  • 浅谈【数据结构】图-图的存储
  • p10 容器的基本命令
  • ImportError: DLL load failed while importing _ssl: 找不到指定的模块。
  • 机器学习-朴素贝叶斯
  • Qt Group、泛联新安即将亮相IDAS 2024设计自动化产业峰会!
  • Windows10企业版找不到微软商店以及微软商店打不开问题解决