观察者模式
来源:互联网 发布:2016淘宝客计入权重吗 编辑:程序博客网 时间:2024/06/15 09:12
珠宝商运送一批钻石,有黄金强盗准备抢劫,珠宝商雇佣了私人保镖,警察局也派人护送,于是当运输车上路的时候,强盗保镖警察都要观察运输车一举一动
//抽象的观察者public interface Watcher { public void update(); }
//保安public class Security implements Watcher{@Overridepublic void update() {System.out.println("运输车有行动,保安贴身保护"); }}
//土匪public class Thief implements Watcher{@Overridepublic void update() {System.out.println("运输车有行动,强盗准备动手");}}
//警察public class Police implements Watcher{@Overridepublic void update() {System.out.println("运输车有行动,警察护航"); }}
//抽象的被观察者,在其中声明方法(添加、移除观察者,通知观察者)public interface Watched { public void addWatcher(Watcher watcher); public void removeWatcher(Watcher watcher); public void notifyWatchers(); }
//具体的被观察者public class Transporter implements Watched{private List<Watcher> list = new ArrayList<Watcher>(); @Override public void addWatcher(Watcher watcher) { list.add(watcher); } @Override public void removeWatcher(Watcher watcher) { list.remove(watcher); } @Overridepublic void notifyWatchers() {for (Watcher watcher : list) { watcher.update(); } } }
public class Test { public static void main(String[] args) { Transporter transporter = new Transporter(); Police police = new Police(); Security security = new Security(); Thief thief = new Thief(); transporter.addWatcher(police); transporter.addWatcher(security); transporter.addWatcher(security); transporter.notifyWatchers(); } }
阅读全文
0 0
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 欢迎使用CSDN-markdown编辑器
- Windows+VS2015编译caffe+py-faster-rcnn
- 32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式
- 应用之日志汇总
- Win10 快捷操作
- 观察者模式
- qt中的lineEdit文本输入框的输入类型限制(三种验证类)
- app编写时注意的问题
- OC与JS交互之WKWebView
- Mustache.js 模板的使用
- Spring、SpringMVC、MyBatis整合
- JSON和java对象的互转
- Kendo UI 使用小知识点汇总
- java分布式定时器实现(rabbitmq版)