Design Pattern --------Observer pattern
来源:互联网 发布:java用户角色权限设计 编辑:程序博客网 时间:2024/05/14 22:36
Below is an example that takes keyboard input and treats each input line as an event. The example is built upon the library classesjava.util.Observer and java.util.Observable. When a string is supplied from System.in, the methodnotifyObservers
is then called, in order to notify all observers of the event's occurrence, in the form of an invocation of their 'update' methods - in our example,ResponseHandler.update(...)
.
/* File Name : EventSource.java */package org.wikipedia.obs; import java.util.Observable; //Observable is hereimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; /** * be observed * @author Administrator * */public class EventSource extends Observable implements Runnable { public void run() { try { final InputStreamReader isr = new InputStreamReader(System.in); final BufferedReader br = new BufferedReader(isr); while (true) { String response = br.readLine(); setChanged(); notifyObservers(response); } } catch (IOException e) { e.printStackTrace(); } }}
/* File Name: ResponseHandler.java */ package org.wikipedia.obs; import java.util.Observable;import java.util.Observer; /* this is Event Handler */ /** * observer * @author Administrator * */public class ResponseHandler implements Observer { private String resp; public void update(Observable obj, Object arg) { if (arg instanceof String) { resp = (String) arg; System.out.println("\nReceived Response: " + resp ); } }}
/* Filename : MyApp.java *//* This is the main program */ package org.wikipedia.obs; public class MyApp { public static void main(String[] args) { System.out.println("Enter Text >"); // create an event source - reads from stdin final EventSource eventSource = new EventSource(); // create an observer final ResponseHandler responseHandler = new ResponseHandler(); // subscribe the observer to the event source eventSource.addObserver(responseHandler); // starts the event thread Thread thread = new Thread(eventSource); thread.start(); }}
- Design Pattern --------Observer pattern
- [Design Pattern]Observer Pattern
- Design Pattern 6-observer
- design pattern : Observer
- Observer Design Pattern
- 一句话Design Pattern:Observer
- Design Patterns - Observer Pattern
- Design pattern学习笔记 – observer pattern
- Design Pattern - Behavioral Patterns - Observer Pattern
- Observer Design Pattern in C#!
- Observer Design Pattern in C#!
- Design Pattern - Observer(C#)
- design pattern notes [6] - Observer
- Head First Design pattern Observer
- design pattern——observer
- Java Design Pattern Observer 观察者模式
- Design Pattern - Observer 观察者设计模式
- Head First Design Pattern读书笔记二 Observer Pattern
- 删除system/app下的apk
- 【Inter汇编语言程序设计】中的第一个例子
- 正则表达式的基本用法(C#)
- 实用反射技巧
- 用异或运算交换连个变量
- Design Pattern --------Observer pattern
- 01 orange‘S boot源码
- 一个悲催的程序员的爱情故事
- 开发和研发的区别(上)
- Spring注解型事务配置
- 开发和研发区别(下)
- typedef的使用小结
- 软件如人,越出名越危险
- 经典查询练手第三篇