java设计模式----观察者模式
来源:互联网 发布:上海商友软件 编辑:程序博客网 时间:2024/05/12 19:18
分为四部分:抽象主题角色,具体主题角色,抽象观察者角色,具体观察者角色
主题角色中具有观察者对象列表,当主题状态改变时,可以通知所有观察者角色。观察者之间不知道相互间的存在。
使用场景:当一个对象改变时,需要改变其他对象的场景中运用。
抽象主题角色:
public interface Subject { public void addObserver(Observer observer); public void removeObserver(Observer observer); public void notifyObservers();}
具体主题角色:
public class Boss implements Subject { private List<Observer> list = new ArrayList<Observer>(); @Override public void addObserver(Observer observer) { list.add(observer); } @Override public void removeObserver(Observer observer) { list.remove(observer); } @Override public void notifyObservers() { for(Observer observer:list){ observer.update(); } }}
抽象观察者角色:
public interface Observer { public void update();}
具体观察者角色:
public class ObserverA implements Observer { @Override public void update() { System.out.println("员工A关掉视频"); }}
public class ObserverB implements Observer { @Override public void update() { System.out.println("员工B关掉股票"); }}
测试:
public class Test { public static void main(String[] args){ Boss boss = new Boss(); Observer observerA= new ObserverA(); Observer observerB= new ObserverB(); boss.addObserver(observerA); boss.addObserver(observerB); boss.notifyObservers(); }}
结果:
员工A关掉视频员工B关掉股票
0 0
- java设计模式-----观察者
- JAVA 观察者设计模式
- java观察者设计模式
- java观察者设计模式
- java 观察者设计模式
- JAVA-观察者设计模式
- JAVA设计模式--观察者
- Java---观察者设计模式
- Java设计模式:观察者
- Java设计模式-观察者
- java观察者设计模式
- java设计模式-观察者模式
- java设计模式---观察者模式
- java设计模式---观察者模式
- java设计模式---观察者模式
- java设计模式-----观察者模式
- java 设计模式---->观察者模式
- java设计模式----观察者模式
- 【数据结构】-直接插入排序、希尔排序Java实现
- PL/SQL Developer使用Oracle轻量客户端连接数据库
- HDU 2546:饭卡【01背包】
- 1004 Let the Balloon Rise【字符串】
- Unity Game Programming AI(2)有限状态机
- java设计模式----观察者模式
- 底边栏Tab切换Fragment,带角标显示效果
- HashMap和HashSet的区别
- hdu 1098 Ignatius's puzzle
- [leetcode] 127.Word Ladder
- C++虚函数与纯虚函数用法与区别(转)
- svn的回滚
- intent.setFlags方法中的参数值含义
- Python RE模块