java 观察者模式
IWatched:
/*** @author com.tiantian* @version 创建时间:2012-11-20 下午4:58:25*/ public interface IWatched {public void addWatcher(IWatcher watcher);public void removeWatcher(IWatcher watcher);public void notifyWatchers(String msg); }
IWatcher:
/*** @author com.tiantian* @version 创建时间:2012-11-20 下午4:55:23*/ public interface IWatcher {public void update(String msg); }
Watched:
/*** @author com.tiantian* @version 创建时间:2012-11-20 下午5:01:05*/ public class Watched implements IWatched{private List<IWatcher> watchers = new ArrayList<IWatcher>();@Overridepublic void addWatcher(IWatcher watcher) {watchers.add(watcher);}@Overridepublic void removeWatcher(IWatcher watcher) {watchers.remove(watcher);}@Overridepublic void notifyWatchers(String msg) {for(IWatcher watcher : watchers){watcher.update(msg);}} }
Watcher:
/*** @author com.tiantian* @version 创建时间:2012-11-20 下午5:04:56*/ public class Watcher implements IWatcher{@Overridepublic void update(String msg) {System.out.println(msg);} }
Test:
/*** @author com.tiantian* @version 创建时间:2012-11-20 下午5:05:26*/ public class Test {public static void main(String[] args) {IWatched watched = new Watched();IWatcher watcher1 = new Watcher();IWatcher watcher2 = new Watcher();IWatcher watcher3 = new Watcher();watched.addWatcher(watcher1);watched.addWatcher(watcher2);watched.addWatcher(watcher3);watched.notifyWatchers("I have been clicked!");watched.removeWatcher(watcher1);watched.notifyWatchers("what's up");} }
转载于:https://www.cnblogs.com/tiantianbyconan/archive/2012/11/20/2779371.html
java 观察者模式相关推荐
- java 观察者模式示例_观察者设计模式示例
java 观察者模式示例 本文是我们名为" Java设计模式 "的学院课程的一部分. 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们. 您将了解模式如 ...
- java 观察者模式示例_Java中的观察者设计模式-示例教程
java 观察者模式示例 观察者模式是行为设计模式之一 . 当您对对象的状态感兴趣并希望在发生任何更改时得到通知时,观察者设计模式很有用. 在观察者模式中,监视另一个对象状态的对象称为Observer ...
- java观察者模式本质_6.[研磨设计模式笔记]观察者模式
1.定义 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新. 2.解决问题 --订阅报纸 看起来订阅者是直接根有据打交道,但实际上,订阅者的订阅数据 ...
- [Java]观察者模式和中介者模式改造机场
[Java]观察者模式和中介者模式改造机场 文章目录 [Java]观察者模式和中介者模式改造机场 题目 代码部分 运行结果 补充 题目 请以下面的情景为基础,将以下的情景进行 优化: 1. 定义4个处 ...
- Java观察者模式理解和实现
今天本想一本正经的把RxJava看一看,想着前段时间RxJava都已经到了第二版,而自己RxJava的认识还只是很基础,甚至连基础都算不上,所以本着以后能在项目里优雅地把他用出来的想法,我开始了RxJ ...
- Java 观察者模式介绍及示例
Java 观察者模式介绍及示例 一.观察者模式简介 1.1概念 观察者模式(Observer Pattern) : 观察者模式又名 发布/订阅模式,属于行为模式,定义了对象中一对多的依赖关系,让多个观 ...
- java观察者模式类图_设计模式(十八)——观察者模式(JDK Observable源码分析)...
1 天气预报项目需求,具体要求以下: 1) 气象站能够将天天测量到的温度,湿度,气压等等以公告的形式发布出去(好比发布到本身的网站或第三方).java 2) 须要设计开放型 API,便于其余第三方也能 ...
- java观察者模式在spring中的应用_利用spring自己实现观察者模式
利用spring,自己实现的一个观察者模式,写着玩玩,目的是为了加深理解,下次用Spring自带的玩一玩. 首先我们定义一个侦听类接口 package com.hyenas.common.listen ...
- java jdk 观察者模式_java观察者模式实现和java观察者模式演化
简单的观察者模式实现 import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; impo ...
- java观察者模式在spring中的应用_Spring源码之spring中的观察者模式和监听器的使用...
声明:本文根据鲁班学院子路老师spring中观察者模式课程整理得来 观察者模式特点: 被观察者持有监听的观察者的引用. 被观察者支持增加和删除的观察者. 被观察者状态改变通知观察者. JDK中观察者i ...
最新文章
- android 自定义键盘高度不对,NVUE 容器一旦设置了position且容器高度不能超过整屏,在安卓端就会被键盘遮挡...
- mysql获取有哪几种状态_Mysql进阶垫脚石 -- Sql命令的执行状态有哪几种
- Json返回结果为null属性不显示解决方法
- Servlet--03--servlet的生命周期
- minitab怎么算西格玛水平_西格玛和西格玛水平
- linux非阻塞的socket EAGAIN的错误处理【转】
- 如何在Ubuntu里安装Helm
- python怎么处理数据标注_在python中将数据标记为敏感
- 国内首家,携程试点每周两天居家办公反响热烈,76%的员工主动报名
- android开机自动打开微信小程序,微信小程序新动态:可从手机桌面直接启动
- Vue组件通信(父传子、子传父、兄弟传值)
- H5(html5)入门教程
- 结果公示!400名博硕士获“优秀学位论文”奖!
- Cocos2D-HTML5开源2D游戏引擎
- 开箱即用!使用Rancher 2.3 启用Istio初体验
- 猴年猴赛雷,曙光服务器全面升级E5-v4平台
- 浅析 | 海岸试验数据管理系统TDM-设计理念(系统特征)
- ASP.NET Web程序设计 第六章 三层架构
- 再启程(重新安装微软商城(Microsoft Store))
- python中的列表是什么意思_python中列表的用法是什么