接着上篇文章,现在在通过Android实际开发和源码再探观察者模式,listview是我们日常开发中必用的控件,虽然之前就有listview的替代品(recyclerview),现在不去深究两个控件到底谁好谁差,但有一点需要强调下,它们之间有一大相同点,都是通过观察者模式去实现数据更新。首先,我们先去看一个简单的例子/**
*
* created by zero on2016-6-1
*...
分类:
移动开发 时间:
2016-06-01 11:35:20
阅读次数:
240
观察者模式:定义了对象之间的一对多依赖,这样依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 下面举一个具体例子: 两个观察者,BinaryObserver的update将setState传入的整数转换成二进制,OctaObserver则是转成八进制 测试代码: 在Swing中有使 ...
分类:
其他好文 时间:
2016-06-01 01:26:00
阅读次数:
268
代理模式1 [java] view plain copy import <a href="http://lib.csdn.net/base/17" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434 ...
分类:
编程语言 时间:
2016-05-31 23:45:00
阅读次数:
247
摘自 菜鸟教程 观察者模式使用三个类 Subject、Observer 和 Client。Subject 对象带有绑定观察者到 Client 对象和从 Client 对象解绑观察者的方法。我们创建 Subject 类、Observer 抽象类和扩展了抽象类 Observer 的实体类。 Observ ...
分类:
其他好文 时间:
2016-05-31 13:55:44
阅读次数:
116
(转载请注明:http://zhutty.cnblogs.com, 交流请加群:164858883) 在软件工程中,有一条重要的原则就是:高内聚低耦合。这是评定软件的设计好坏的一个标准。所谓高内聚,指的是一个模块内各个元素关联紧密,共同完成一个核心业务。低耦合,指的是各个模块之间依赖松散。创建低耦合 ...
分类:
移动开发 时间:
2016-05-30 19:56:22
阅读次数:
180
在说Observer与Subscriber的关系之前,我们下重温下相关概念。RxJava 的观察者模式RxJava 有四个基本概念:Observable (可观察者,即被观察者)、 Observer (观察者)、 subscribe (订阅)、事件。Observable 和 Observer 通过 subscribe() 方法实现订阅关系,从而 Observable 可以在需要的时候发出事件来通知...
分类:
编程语言 时间:
2016-05-30 15:01:20
阅读次数:
232
源码中,起关键性作用的就是vector和changed,在observable实例化的时候,就初始化了一个空的vector,可以通过vector添加和移除vector操作后,当observable发生改变时,通过changed去判断是否通知,在我们的上述示例代码中使用setChanged(),主要是因为第一次加入的时候,不会去调用observer的update方法,也就是changed为false,当changed为...
分类:
移动开发 时间:
2016-05-30 11:26:15
阅读次数:
243
一、什么是观察者模式 就是观察者告诉被观察者我需要你的某种状态,当被观察者做出动作的时候,观察者立刻做出相应反应。所以步骤就是,创建被观察者,逻辑是它要执行的动作。创建观察者,当被观察者做出动作的时候,观察者该怎么做。之后观察者要盯着观察者,这就是连接。 二、RXJAVA中的观察者和被观察者 Obs ...
分类:
编程语言 时间:
2016-05-28 21:52:11
阅读次数:
169
观察者模式: 观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/ ...
分类:
Web程序 时间:
2016-05-28 20:36:49
阅读次数:
154