Java监听器与观察者模式
2014-04-02 11:14
134 查看
观察者模式分为观察者(被通知并执行)和被观察者(添加观察者列表,事件触发通知)两部分,在java、.net等事件处理中使用广泛
观察者抽象类
观察者A
观察者B
观察者C.......
被观察者
执行
观察者抽象类替换成观察者接口就是监听器了
观察者抽象类
public abstract class Observer { public abstract void Update(); }
观察者A
public class ObserverA extends Observer { @Override public void Update() { System.out.println("This is ObserverA Update"); } }
观察者B
public class ObserverB extends Observer { @Override public void Update() { System.out.println("This is ObserverB Update"); } }
观察者C.......
被观察者
public class Observed { List<Observer> list = new ArrayList<Observer>(); public void AddObserver(Observer o) { list.add(o); } public void RemoveObserver(Observer o) { list.remove(o); } public void Notify() { for (Observer o : list) { o.Update(); } } }
执行
public static void main(String[] args) { Observed observed = new Observed(); observed.AddObserver(new ObserverA()); observed.AddObserver(new ObserverB()); observed.Notify(); }
观察者抽象类替换成观察者接口就是监听器了
public interface Observer { public void Update(); }
public static void main(String[] args) { Observed observed = new Observed(); observed.AddObserver(new Observer() { @Override public void Update() { System.out.println("This is ObserverA Update"); } }); observed.AddObserver(new Observer() { @Override public void Update() { System.out.println("This is ObserverB Update"); } }); observed.Notify(); }
相关文章推荐
- java中的事件监听器和观察者模式
- Java设计模式(三)——观察者模式和监听器
- java的观察者模式(有点监听器的感觉),Thread和Runnable的区别
- java设计模式( Java设计模式之观察者模式 )
- Java观察者模式 : Observer / Observable
- java设计模式-观察者模式
- Java设计模式之观察者模式
- java设计模式---观察者模式
- Java 观察者模式的浅析
- java观察者模式
- Java设计模式之观察者模式
- Java中的观察者模式详解
- 观察者模式 Java
- Java中的观察者模式(Observer)
- Java设计模式—观察者(Observer)
- Java设计模式--观察者模式【Observer Pattern】
- "观察者模式"-之Java,Android面试必问设计模式(8/9)
- 【设计模式】java设计模式总述及观察者模式
- Java 观察者模式
- java设计模式--事件监听器模式和观察者模式