0. 前言 观察者模式在许多地方都能够用到,特别是作为MVC模式的一部分,在MVC中,模型(M):存放数据,视图(V):显示数据。当模型中的数据发生改变时,视图会得到通知,这是典型的观察者模式。1. 定义 观察者模式:定义了一对多的关系,一个对象作为主题,它维护了一系列的依赖 ...
0. 前言
观察者模式在许多地方都能够用到,特别是作为MVC模式的一部分,在MVC中,模型(M):存放数据,视图(V):显示数据。当模型中的数据发生改变时,视图会得到通知,这是典型的观察者模式。
1. 定义
观察者模式:定义了一对多的关系,一个对象作为主题,它维护了一系列的依赖对象,当主题的状态发生改变时,会自动地通知依赖对象(通常通过调用依赖对象的方法来实现)。
官方定义:wiki
2. 应用
这里通过《Head first 设计模式》中的例子来实现观察者模式。这里有一个气象数据和公布栏,当气象数据发生改变时,会通知公布栏,使其更新数据。
源码:
主题Subject接口:
1 package ObserverPattern;2 3 public interface Subject {4 public void registerObserver( Observer observer );5 public void removeObserver( Observer observer );6 public void notifyObservers();7 }
原标题:设计模式学习——观察者模式(Observer Pattern)
关键词:设计模式
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。