简单的对象监听器 观察者设计模式
该代码实现了一个可以注册监听类的类,如果注册了监听类,那么在类的一个方法执行前会执行监听类的方法。并且该监听类方法的参数就是被监听对象。
监听类就是事件监听器,被监听对象就是事件源,事件监听器的参数就是事件对象。
//设计一个事件源,被监听器监听 Observer(观察者设计模式)
public class Demo2 {
public static void main(String[] args) {
Person p = new Person();
p.registerListener(new PersonListener(){
public void doeat(Event e) {
Person p = e.getSource();
System.out.println(p + "吃个死");
}
public void dorun(Event e) {
// TODO Auto-generated method stub
}
});
p.eat();
}
}
class Person{
private PersonListener listener;
public void eat(){
if(listener!=null){
listener.doeat(new Event(this));
}
}
public void run(){
if(listener!=null){
listener.dorun(new Event(this));
}
}
public void registerListener(PersonListener listener){
this.listener = listener;
}
}
interface PersonListener{
public void doeat(Event e);
public void dorun(Event e);
}
class Event{
private Person source;
public Event() {
super();
// TODO Auto-generated constructor stub
}
public Event(Person source) {
super();
this.source = source;
}
public Person getSource() {
return source;
}
public void setSource(Person source) {
this.source = source;
}
}
转载于:https://www.cnblogs.com/flying607/p/3469133.html
简单的对象监听器 观察者设计模式相关推荐
- javaEE之--------统计站点在线人数,安全登录等(观察者设计模式)
整体介绍下: 监听器:监听器-就是一个实现待定接口的普通Java程序,此程序专门用于监听别一个类的方法调用.都是使用观察者设计模式. 小弟刚接触这个,做了些简单的介绍.大神请绕道,技术仅仅是一点点, ...
- Android开源—RXJava观察者设计模式
简介 RxJava 是一个响应式编程框架,采用观察者设计模式.所以自然少不了 Observable 和 Subscriber 这两个东东了. RxJava最核心的两个东西是Observables(被观 ...
- 探究netty的观察者设计模式
javadoc笔记点 观察者的核心思想就是,在适当的时机回调观察者的指定动作函数 我们知道,在使用netty创建channel时,一般都是把这个channel设置成非阻塞的模式,这意味着什么呢? 意味 ...
- js observer 添加_简单了解4种JS设计模式
阅读本文约需要5分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了15款有用前端开发的ST插件的知识,今天跟大家分享下4种 ...
- Unity 3D观察者设计模式-C#委托和事件的运用
C#观察者设计模式 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新 ...
- 《Head First设计模式》批注系列(一)——观察者设计模式
最近在读<Head First设计模式>一书,此系列会引用源书内容,但文章内容会更加直接,以及加入一些自己的理解. 观察者模式(有时又被称为模型-视图(View)模式.源-收听者(List ...
- java 观察者模式示例_观察者设计模式示例
java 观察者模式示例 本文是我们名为" Java设计模式 "的学院课程的一部分. 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们. 您将了解模式如 ...
- java 观察者模式示例_Java中的观察者设计模式-示例教程
java 观察者模式示例 观察者模式是行为设计模式之一 . 当您对对象的状态感兴趣并希望在发生任何更改时得到通知时,观察者设计模式很有用. 在观察者模式中,监视另一个对象状态的对象称为Observer ...
- Java中的观察者设计模式-示例教程
观察者模式是行为设计模式之一 . 当您对对象的状态感兴趣并希望在发生任何更改时得到通知时,观察者设计模式很有用. 在观察者模式中,监视另一个对象状态的对象称为Observer ,而正在监视的对象称为S ...
最新文章
- centos7grub配置文件及排错
- PyTorch tensorboard报错:TensorBoard logging requires TensorBoard version 1.15 or above
- mailing list的原理
- 审批流_怎样让审批工作流和应用数据分离?
- 【渝粤教育】21秋期末考试建筑力学与结构10126k2111
- 25个CSS3 渐变和动画效果教程
- c语言与64位windows不兼容_微软发布可模拟 64 位 x86 程序的 ARM 版 Windows 10
- 无心剑《译海泛轻舟》
- Java环境安装手册
- linux学习笔记:处理linux目录的常用命令
- mysql里cis_CIS MySQL存储库表修复过程
- hackthebox - frolic (考点: 信息搜集 ook解密 base解密 zip 解密 xxd解密 brainfuck解密 playsms安全)
- JAVA-三种注释方式
- web高级前端面试实战总结
- rfc3550-rtp:一种实时应用的传输协议
- Echarts 开源,免费商用图表控件使用整理
- 专访凌云光技术3D视觉业务部经理李淼:做好技术和产品,为VR行业服务
- UART的break信号
- JS入门到入土之数字运算符扩展
- 聊聊LM2596SDC-DC降压模块的使用