本文概览:介绍观察者模式与事件监听模式。

1 观察者模式

1.1 模式介绍

1、 定义

观察者模式定义了对象之间的一对多依赖,即,个主题对应多个观察者。当一个主题对象改变状态时,它的所有依赖者(观察者)都会收到通知并自动更新。可以通过公众号发送消息实例来理解:公众号会保存所有订阅者,有消息之后,会发送给所有订阅者。

2、观察模式和策略模式比较

观察者模式解决的是对象和对象之间的依赖关系。它解决的是多个对象依赖一个对象的关系:一个主题对象状态改变,需要通知所有观察者对象。而在策略模式中,解决的是一个对象内部的不断变化的方法

1.2 实现

主要包含 主题和 观察者两种对象。

1、主题

在主题类中定义了一个观察者数组,,这样就实现了主题和观察者之间1对多的关系。

具体类

2、观察者

一个具体观察者

3、测试

执行结果为

事件监听模式

跟主题模式类似,事件监听模式包括一个EventLister(看成是观察者),ListenerSupport(监听器管理器,类似于主题),还有一个Event 表示事件,可以理解为 主题观察者 中消息 message

1Event

2、监听器

具体监听器

3、事件管理器

4、测试

结果为

参考:

Spring事件和监听器

分类&标签