观察者模式

本文介绍了观察者模式的概念,提供了一个简单的Java实现,包括被观察者继承Observable类和观察者实现Observer接口。接着详细解析了被观察者Observable的重量级锁源码,并对观察者Observer进行了分析。
摘要由CSDN通过智能技术生成

一、概念

观察者模式又称为发布订阅模式,观察者模式定义了一对多的依赖关系,让多个观察者同时监视着被观察者的状态

二、简单实现观察者模式

  • 被观察者需要继承Observable类
  • 观察者需要实现Observer接口,实现upate方法
1、被观察者代码:
import java.util.Observable;
import java.util.Observer;

public class Observered extends Observable {

    //Observered开启线程安全的单例模式
    private static Observered observered;

    private Observered(){}

    public static Observered getInstance() {
        if (observered == null) {
            synchronized (Observered.class) {
                if (observered == null) {
                    observered = new Observered();
                }
            }
        }
        return observered;
    }

    /**
     * 添加观察者
     *
     * @param observer
     */
    public void addObserver (Observer observer) {
        this.addObserver(observer);
    }

    /**
     * 添加变更
     *
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值