观察者模式

观察者模式是一个1对多的关系,也就是1个对象发生改变,其他多个依赖对象都会收到通知。

具体例子,就像事件处理一样,一个按键或点击会触发好几条事务共同处理。

观察者模式:

1、主题接口(被观察者接口)

interface Subject{
    void registerObserver();// 注册观察者
    void removeObserver();// 移出观察者
    void notifyObserver();// 通知观察者,即调用观察者update()方法
}

2、观察者接口

interface Observer{
    void update();// 观察者接收到通知,调用该方法更新当前观察者
}

3、具体的主题是一个实现了主题接口的类。

4、具体的观察者是一个实现了观察者接口的类。注意要使这个类和某个主题进行关联,才能进行接下来的根据主题状态更新观察者,关联就是要调用主题的registerObserver()方法。

JDK为我们提供了观察者模式:

import java.util.Observable;// 主题类
import java.util.Observer;// 观察者接口
----void update(Observable o, Object arg);// 接口中的方法

其中Observable中有个setChange()方法,作用时可以灵活调整每次状态改变时是否需要通知观察者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值