1. 基于继承的实现方式.
废话:这是Observer模式的基本实现方式,在GOF的设计模式或其它介绍设计模式书中提到的就是这种方式。JDK1.1以后的版本中的AWT就是以这种方式实现的.
(1)结构: 以下这个图把Observer模式的基于继承实现方式表现得很明白了.
(2)类说明:
Subject:目标基类. 维护了所支持的观察者类列表.实现增加/删除观察者接口
ConcreteSubject:目标具体类. 通过观察者基类提供的消息响应接口,将新消息广播给已注册观察者.
Observer:观察者基类. 定义消息响应接口函数(Update())供目标类调用.可维护目标引用用于在响应消息时访问目标数据