观察者模式
来源:互联网 发布:写文章的软件 编辑:程序博客网 时间:2024/06/06 02:49
定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,在它的状态发生变化时,会通知所有的观察者.
import java.util.ArrayList;import java.util.List;/** * 内容提供者 * @author fan * */public class Subject { private List<Observe> observers = new ArrayList<>(); private int State; public int getState() { return State; } public void setState(int state) { State = state; notificationAll(); } public void attach(Observe observer) { observers.add(observer); } private void notificationAll() { // TODO Auto-generated method stub for (Observe observe : observers) { observe.update(); } }}/** * 观察者抽象类 * @author fan * */public abstract class Observe { protected Subject subject; public abstract void update();}/** * 观察实体类 * @author fan * */public class Observer extends Observe { Observer(Subject subject) { this.subject = subject; this.subject.attach(this); } @Override public void update() { // TODO Auto-generated method stub System.out.println(this.subject.getState()); }}//测试public class Test { public static void main(String[] args) { Subject subject= new Subject(); new Observer(subject); subject.setState(1); subject.setState(2); subject.setState(3); }}//res123
阅读全文
0 0
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 第一个项目的总结
- hdu i need offer
- 计算机网络漫谈之传输层
- 关于phpredis拓展hScan的一点小坑
- 洛谷OJ
- 观察者模式
- timer schudele
- inode mac 校园网创建wifi 个人热点 thunderbolt
- jQuery常用代码
- ACM HDU 1176 免费馅饼
- C#高效插入sql数据库数据
- Oracle查询语句简单回顾(一)
- STL list
- 【清单】 ---算法竞赛入门经典第二版 【例题+习题】【持续更新中..】