观察者模式是对象的行为模式,又叫做发布-订阅模式、源-监听器模式或者从属者模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听同一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。下面给出一个简单的示意性系统,在该系统中有如下几个角色:抽象主题...
分类:
其他好文 时间:
2015-08-26 22:10:57
阅读次数:
170
观察者模式,是一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下。本文以AbstractCursor为例子,展开分析。观察者模式,Observer Pattern,是一个很实用的模式,本人曾经接触到的各种平台以及曾经参与项目中打印模板解释器中都用到了此模式。1...
分类:
其他好文 时间:
2015-08-26 15:36:08
阅读次数:
131
KVO全称: Key Value Observing(键值监听)作用: 监听模型的属性改变//为对象p添加一个监听者//Observer: 监听者//KeyPath: 属性名(需要监听哪个属性)//options: 监听的哪些选项[p addObserver:self forKeyPath:@"na...
分类:
其他好文 时间:
2015-08-25 23:20:09
阅读次数:
139
定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。java提供Obeservable类和Observer接口。比如购房,购房者是观察者,而房价是...
分类:
其他好文 时间:
2015-08-20 14:47:17
阅读次数:
124
Subject.javapublic interface Subject { public void registerObserver(Observer o); public void removeObserver(Observer o); public void notifyObservers();}
Observer.javapublic interface Observer...
分类:
其他好文 时间:
2015-08-20 01:35:34
阅读次数:
143
如果你和我描述的以下几点情况一样,那么这个我检查出来的bug解决方法可能能解决你的问题1.setadapter放在onclick事件里面
2.适配器的写法是标准的优化过后的
3.数据有时为空,有时可以适配,只要为空的时候一次,再有数据就不能适配了解决方法:思路:在适配器中判断数据是否为空,如果为空就new 一个数组给它当值,
如果不为空就等于传入的值做法:一开始就给adapter的数据源为n...
分类:
编程语言 时间:
2015-08-19 13:23:49
阅读次数:
211
模式定义:简单来讲,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监控一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的所有观察者对象,使这些观察者对象能够更新自身。
模式中涉及的四个角色:
1、 Subject主题角色(被观察的对象接口)
1.1被观察者的统一接口;
1.2每个Subject可以有多个Observer对象的引用
采用Web...
分类:
其他好文 时间:
2015-08-15 23:08:26
阅读次数:
155
Subject在ReactiveX是作为observer和observerable的一个bridge或者proxy。因为它是一个观察者,所以它可以订阅一个或多个可观察对象,同时因为他是一个可观测对象,所以它可以传递和释放它观测到的数据对象,并且能释放新的对象。
一共有四种为不同用途而设计的Subject,分别为AsyncSubject、BehaviorSubject、PublishSubject。...
分类:
编程语言 时间:
2015-08-15 18:20:08
阅读次数:
1960
KVC
kvc(key-value-coding,键值编码)
为属性赋值: value为属性的值 forKey:属性的名称
kvc 为OC语言动态运行时机制的一种体现,任何NSObject类型的对象都支持kvc
kvo(键值观察)(key-value-observer)
:对符合kvc键值编码的变量的观察,主要对变量赋值操作的观察
[_model addObserv...
分类:
其他好文 时间:
2015-08-14 17:09:22
阅读次数:
147
1.简介基础知识响应式代码的基本组成部分是Observables和Subscribers(事实上Observer才是最小的构建块,但实践中使用最多的是Subscriber,因为Subscriber才是和Observables的对应的。)。
Observable发送消息,而Subscriber则用于消费消息。消息的发送是有固定模式的。Observable可以发送任意数量的消息(包括空消息),
当消...
分类:
编程语言 时间:
2015-08-11 23:27:23
阅读次数:
1877