observable(ninth day)
来源:互联网 发布:wex5 php服务器端 编辑:程序博客网 时间:2024/06/06 17:44
观察者模式: 第一对象间一种对多的依赖关系,使得当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。
被观察者:
能动态的增加,取消观察者。它一般是抽象类或者是实现类,仅仅完成座位被观察者必须实现的职责,管理观察者并通知观察者。
观察者: 观察者接收到消息后,即进行update,对接收到的信息进行处理。
具体观察者: 对消息进行处理
被观察者:
能动态的增加,取消观察者。它一般是抽象类或者是实现类,仅仅完成座位被观察者必须实现的职责,管理观察者并通知观察者。
观察者: 观察者接收到消息后,即进行update,对接收到的信息进行处理。
具体观察者: 对消息进行处理
具体被观察者: 定义自己的业务, 同时通知观察者
\
public interface Observable {/** * 增加观察者 */void adObserver(Observer observer);void deleteObserver(Observer observer);/** * 发生改变时通知 * @param context */public void notifyObservers(String context);}
public interface NewspaperFactory {public void createLastNewspaper();}
public class NewspaperOffice implements Observable ,NewspaperFactory{//观察者离列表——》报刊亭private ArrayList<Observer> observerList = new ArrayList<Observer>(); public void adObserver(Observer observer) {observerList.add(observer);} public void deleteObserver(Observer observer) {observerList.remove(observer);} public void notifyObservers(String context) { for(Observer o : observerList){ o.update(context); }}@Overridepublic void createLastNewspaper() {System.out.println("最新的报纸生产出来了");//通知 报亭有新报纸notifyObservers("新的报纸");} }
public interface Observer {public void update(String context) ;}
public class Newsstand implements Observer{/** * 报刊亭做自己的事情 */public void update(String context) {System.out.println("最新报纸出来了,要上架卖");}}
public class Client {public static void main(String[] args) {NewspaperOffice ob = new NewspaperOffice();Observer stand = new Newsstand();ob.adObserver(stand);ob.createLastNewspaper(); }}
0 0
- observable(ninth day)
- 《黑马程序员》The ninth day (网页爬虫和反射,刺激!)
- Observable
- Observable
- Observable
- observable
- Ninth records of career
- ninth(求y2(switch))
- The ninth pattern --------Iterator and Composite Pattern
- Observable & Observer
- observable()方法
- AOP Observable
- Observable详解
- day
- day\\\
- 新建一个Observable,返回observable对象
- Observable与Observer
- Observable(观测) 示例
- 边缘检测算法
- 内存管理
- 无法打开SQL Server的连接
- 数据结构学习心得(二)-----线性表
- Kinnect开发——环境配置
- observable(ninth day)
- Linux命令学习手册-gpg命令
- “转”使用UBOOT烧写根文件系统和内核的方法
- perl 正则表达式
- android使用ListView和Adapter.getView Recycler的工作原理
- 今天开始写文章了!!!
- junit浅学笔记一
- 来传智播客之前的经历:一个饱经沧桑的90后
- Spark + Flume