JAVA观察者模式

1.什么是观察模式

观察者模式是一种对象行为模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

观察者模式又叫发布-订阅(Publish/Subscribe)模式,发布者负责发布消息,订阅负责消费消息。

2.什么时候使用观察模式

当一个对象发生改变,同时其他对象也要跟着变化的时候可以考虑观察模式对系统进行解耦。

3.例子

微信公众号的关注订阅号接收消息推送与我们的观察者模式相似,公众号作为发布者负责发布内容,关注者作为订阅者负责消费内容。

4.例子代码

/**
 * @Description 主题 公众号
 * @Version 1.0.0
 * @Date 2022/10/13 22:21
 * @Author NiKaBoy
 * @Email 123456789@qq.com
 */
public interface Subject {

    /**
     * @Description: 添加观察者(订阅者)到队列的方法
     * @Data:[observer]
     * @return: void
     * @Author: NiKaBoy
     * @Email: 123456789@qq.com     
     * @Date: 22-10-286 22:24:02
     */
    void addToQueue(Observer observer);

    /**
     * @Description:  从队列移除
     * @Data:[observer]
     * @return: void
     * @Author: NiKaBoy
     * @Email: 123456789@qq.com     
     * @Date: 22-10-286 22:25:33
     */
    void removeBeQueue(Observer observer);
    /**
     * @Description: 通知 观察者 发布消息
     * @Data:[]
     * @return: void
     * @Author: NiKaBoy
     * @Email: 123456789@qq.com
     * @Date: 22-10-286 22:26:58
     */
    void notifyObserver();
}
/**
 * @Description 订阅者
 * @Version 1.0.0
 * @Date 2022/10/13 22:22
 * @Author NiKaBoy
 * @Email 123456789@qq.com
 */
public interface Observer {
    /**
     * @Description: 通知,获取关注的公众号发布的消息
     * @Data:[]
     * @r
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值