观察者模式
2019-11-08 本文已影响0人
sunjiandev
观察者模式
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。
代码实现:
public class Observer_One implements Observer{
@Override
public void update(Observable o,Object obj){
System.out.println("Observer_One obj ="+obj);
}
}
...
public class Observer_Two implements Observer{
@Override
public void update(Observable o,Object obj){
System.out.println("Observer_Two obj ="+obj);
}
}
...
public class Publish extends Observable{
public void publish(String data){
setChange();//必须调用 父类的这个方法,不然数据不会发送
notifyObserver(data);//发送数据变化通知
}
}
public class Test{
public void main(String[] args){
Publish public = new Publish();
publish.addObserver(new Observer_One());
publish.addObserver(new Observer_Two());
public.publish("发送数据")
}
}