发布/订阅(pub/sub)是一种消息模式,它的两个参与者:发布者和订阅者。发布者向某个信道发布一条消息,订阅者绑定这个信道,当有消息发布到信道里面的时候,订阅者回接受到这个通知。发布者和订阅者是完全解耦的,彼此仅仅共享一个通道名称。这种模式提高了应用的可维护性,让应用易于扩展。简单的设计思路:设计...
分类:
编程语言 时间:
2015-11-20 15:35:42
阅读次数:
175
一:什么是观察者模式: 官方定义:定义对象间一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 举个例子,很多人都会订阅天气预报,当气象台获得明天的天气情况(目标对象)时,就会短信通知订阅了天气预报的人(观察者),然后订阅者就会根据明天天气情况做出相应的处理...
分类:
编程语言 时间:
2015-11-18 22:47:34
阅读次数:
213
说明:学习JMock官网的Getting Started的笔记例子:为测试publish/subscribe发布/订阅信息系统的publisher(发布者),mock subscriber(订阅者)对象接口subscriber如下: interface Subsciber { void re...
分类:
其他好文 时间:
2015-11-18 22:41:18
阅读次数:
241
观察者模式可谓是我们用的最多的模式之一了,如果开发过界面程序的话,各种监听事件,setOnClickListener(),设置点击的监听事件,这里就是一个观察者模式的应用了。观察者模式是什么呢?是一个一对多得依赖,一个主题,多个订阅者,就像报纸在报社和读者间的关系一样,读者通过给报社交钱告诉报社.....
分类:
其他好文 时间:
2015-11-12 01:19:39
阅读次数:
308
Rx是响应式编程的意思, 本质是观察者模式, 是以观察者(Observer)和订阅者(Subscriber)为基础的异步响应方式. 在Android编程时, 经常会使用后台线程, 那么就可以使用这种方式. 目前的异步编程方式都会导致一些问题, 如(1) Asynctasks can easily lead to memory leaks.
(2) CursorLoaders with a Conte...
分类:
移动开发 时间:
2015-11-11 16:46:54
阅读次数:
504
EventBus是github上的一个第三方开发库,其在github上的项目主页地址:https://github.com/greenrobot/EventBus EventBus的消息模型是消息发布者/订阅者机制。(1)EventBus是消息发布者(发送消息)/订阅者(接收消息)模式。Event....
分类:
移动开发 时间:
2015-11-10 19:18:24
阅读次数:
343
该模式的作用是发布者和订阅者 可以相互发送消息发布者和订阅者都充当 生产者和消费者发布者package publisher.to.subscriber;import java.awt.font.TextMeasurer;import javax.jms.Connection;import javax...
分类:
其他好文 时间:
2015-10-14 14:14:04
阅读次数:
253
流(RACStream):一个流表示多个对象值组成的序列,对象值可以是当前已有的,也可以是未来会出现的,但是必须先后按顺序依次被检索。信号(RACSignal):信号是推送型的流,信号可以通过订阅来传递事件给订阅者,主要有三类事件:next,error,complete。next可以携带一个正常的值...
分类:
其他好文 时间:
2015-10-13 15:08:43
阅读次数:
265
定义观察者模式,顾名思义就是观察者对某事物进行观察,当事物状态改变(符合条件)时,通知所有的订阅者,使他们做出对应的反应。一般可以通过类之间的引用调用来实现、也可以通过事件订阅的方式实现。类实现方式的类图类实现方式的代码 1 public class Subject 2 { 3 ...
分类:
其他好文 时间:
2015-10-13 01:30:27
阅读次数:
133
消息交换机(Exchange)RabbitMQ消息模型的核心理念是生产者永远不会直接发送任何消息给队列,一般的情况生产者甚至不知道消息应该发送到哪些队列。相反的,生产者只能发送消息给交换机(Exchange)。交换机的作用非常简单,一边接收从生产者发来的消息,另一边把消息推送到队..
分类:
其他好文 时间:
2015-10-11 11:40:41
阅读次数:
170