JAVA设计模式示例-3 观察者模式

本文介绍了JAVA中的观察者模式,重点展示了如何在代码中实现这一模式,并以老师、学生、售货员为例,解释了如何响应"下课"事件。文章还探讨了观察者模式在分布式系统如Redis的发布订阅、Zookeeper事件通知中的应用,以及其适用的场景——当多个对象依赖一个对象的事件触发时。
摘要由CSDN通过智能技术生成

3 观察者模式

观察者模式是leo哥非常喜欢的模式之一,也是分布式系统非常流行的设计思路之一。如Redis的发布订阅,及Zookeeper的事件通知。在本质上都暗含了观察者模式的设计思路。这里先写了一个J2SE本地方法级的观察者模式。后续可通过对分布式开发中基于网络IO调用的观察者模式进行实践。

代码功能:Subject为一个触发事件的客体,代码中有老师、学生、售货员,通过观察”下课”这个事件,来做出相应的反应

Step 1:先定义一个基于事件的观察者的接口,接口内包含发生事件时的动作act

public interface IEventObserver {
    public void act(MyEvent eventName);
}

Step 2:定义接受观察和触发事件的客体

public class Subject {
    private  List<IEventObserver> obList =new LinkedList<>();

    public void attach(IEventObserver ob){
        obList.add(ob);
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值