设计模式:观察者模式

定义

观察者模式(Observer Pattern)是一种行为设计模式,允许一个对象(称为“主题”或“可观察对象”)维护一组依赖于它的对象(称为“观察者”),当主题的状态发生变化时,会自动通知所有观察者对象。

应用场景

观察者模式适用于以下场景:

  1. 联动反应:当一个对象的改变需要自动触发其他对象的变化时。
  2. 解耦系统:当一个系统需要在对象之间减少紧密耦合以提高灵活性和可重用性时。
  3. 事件处理:在事件驱动系统中,用于监听和响应事件或状态的变化。

示例与反例

示例

一个典型的示例是新闻订阅服务,订阅者可以订阅新闻主题,当有新新闻发布时,所有订阅者都会收到通知。

// 观察者接口
interface Observer {
   
    void update(String message);
}

// 可观察对象接口
interface Observable {
   
    void addObserver(Observer o);
    void removeObserver(Observer o);
    void notifyObservers(

相关推荐

  1. 设计模式观察模式

    2024-04-07 19:08:01       57 阅读
  2. 设计模式观察模式

    2024-04-07 19:08:01       44 阅读
  3. 设计模式——观察模式

    2024-04-07 19:08:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-07 19:08:01       53 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-07 19:08:01       55 阅读
  3. 在Django里面运行非项目文件

    2024-04-07 19:08:01       46 阅读
  4. Python语言-面向对象

    2024-04-07 19:08:01       56 阅读

热门阅读

  1. 全量知识系统 设计和实现的切入点探讨 (Q&A)

    2024-04-07 19:08:01       32 阅读
  2. 数据库面试题之Mysql

    2024-04-07 19:08:01       33 阅读
  3. Django--方法

    2024-04-07 19:08:01       35 阅读
  4. Vue 【vite使用alias】

    2024-04-07 19:08:01       33 阅读
  5. 蓝桥杯刷题--python38

    2024-04-07 19:08:01       26 阅读
  6. Docker

    Docker

    2024-04-07 19:08:01      23 阅读
  7. C 练习实例98-汉诺塔(完结撒花)

    2024-04-07 19:08:01       25 阅读
  8. MySQL中innodb_status_output_locks含义和用法

    2024-04-07 19:08:01       25 阅读
  9. 机器学习模型调优简介

    2024-04-07 19:08:01       20 阅读