观察者模式
来源:互联网 发布:外汇数据下载 编辑:程序博客网 时间:2024/06/06 18:21
前言
只有写出来,记忆才能更深刻
观察者模式
基本结构
abstractsubject: 抽象主题类,包含添加观察者,删除观察者,更新观察者的方法
public abstract class AbstractSubject { public abstract void addObserver(AbstractObserver abstractObserver); public abstract void deleteObserver(AbstractObserver abstractObserver); public abstract void updateObserver(String message);}
concretesubject: 具体主题类,实现添加观察者,删除观察者,更新消息的方法
public class ConcreteSubject extends AbstractSubject { private List<AbstractObserver> list; public ConcreteSubject(){ list=new ArrayList<>(); } @Override public void addObserver(AbstractObserver abstractObserver) { list.add(abstractObserver); } @Override public void deleteObserver(AbstractObserver abstractObserver) { list.remove(abstractObserver); } @Override public void updateObserver(String message) { for (int i = 0; i <list.size() ; i++) { list.get(i).update(message); } }}
abstractobserver: 抽象观察者,定义更新方法
public abstract class AbstractObserver { public abstract void update(String message);}
concreteobserver: 具体观察者,实现更新内容
public class AndroidObserver extends AbstractObserver { @Override public void update(String message) { System.out.println("安卓系统收到信息"+message); }}
public class IOSObserver extends AbstractObserver { @Override public void update(String message) { System.out.println("IOS系统收到信息"+message); }}
public class WPObserver extends AbstractObserver { @Override public void update(String message) { System.out.println("WP系统收到信息"+message); }}
main方法调用:
//观察者模式测试方法 private static void testObserver(){ ConcreteSubject subject=new ConcreteSubject(); AndroidObserver androidObserver=new AndroidObserver(); IOSObserver iosObserver=new IOSObserver(); WPObserver wpObserver=new WPObserver(); subject.addObserver(androidObserver); subject.addObserver(iosObserver); subject.addObserver(wpObserver); subject.updateObserver("赶快更新"); }
输出结果:
安卓系统收到信息赶快更新IOS系统收到信息赶快更新WP系统收到信息赶快更新
个人总结
观察者模式的思路在安卓中使用很广泛,类似广播,以及EventBus框架的使用等。
阅读全文
0 0
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- Cordova 学习笔记三
- 良好心态 + 正确习惯 + 完备知识网络
- 信号完整性分析——时域与频域
- (二)SQL安装之.net framework 3.5安装
- UVA
- 观察者模式
- Apache Hadoop2.8.0伪分布式环境搭建
- tomcat启动startup.bat一闪而过
- Fecshop 环境部署以及安装步骤
- 字典树_HDU1671
- dlib 06 dlib自带demo 视频内物体跟踪
- C语言顺序表
- mac上面搭建php环境
- Spring Cloud初探——服务治理Spring Cloud Eureka