观察者模式
来源:互联网 发布:中银淘宝联名卡 编辑:程序博客网 时间:2024/06/16 21:03
观察者模式概念:
顾名思义,该模式分为两种角色,观察者和被观察者(主题),当主题状态发生改变,就把状态信息发送给每个观察者;实现过程大概为:观察者都实现同一个观察者接口,重写里面的消息通知方法(用于主题更新的方法);主题也实现一个接口,接口里面涉及对观察者列表的删除更新操作;
一对多的关系,这种场景可以用在传感器检测方面,传感器当作一个主题对象,传感器状态一发生变化,立即更新给他的观察者
具体使用方法:
public interface MyObserver{ public void notify(String msg); } //观察者 public class Observer1 implements MyObserver{ @Override public void notify(String msg) { // TODO Auto-generated method stub } } public class Observer2 implements MyObserver{ @Override public void notify(String msg) { // TODO Auto-generated method stub } } //主题接口 被观察者 public interface Topic{ public void addObserver(MyObserver observer); public void delObserver(MyObserver observer); public void notifyAllObserver(); } public class MyTopic implements Topic{ private LinkedList<MyObserver> observerList = new LinkedList<MyObserver>(); private String state = "normal"; @Override public void addObserver(MyObserver observer) { // TODO Auto-generated method stub observerList.add(observer); } @Override public void delObserver(MyObserver observer) { // TODO Auto-generated method stub observerList.remove(observer); } @Override public void notifyAllObserver() { // TODO Auto-generated method stub for(MyObserver observer : observerList){ observer.notify(state); } } }
0 0
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- Android每日范例——电话号码输入框
- How to Install PyQt4 on OS X
- c++类与c struct的区别
- ionic 安装
- 把16G iPhone 6 Plus 纯手工升级到 128G
- 观察者模式
- JavaBean
- Java反射机制
- zb的生日
- AT24C02的Stm32模拟读写IIC程序(续)
- Android Studio开启虚拟机遇到HAX kernel module is not installed问题
- HDU 2112HDU Today (最短路)
- ARM编译工具
- 离线安装eclipse的Maven插件