首先使用数组缓存订阅者订阅的消息,当订阅者订阅消息的时候,把订阅的消息push到指定消息的队列中,当发布者发布消息的时候,我们遍历执行push到指定消息队列中的回调事件。 ...
分类:
编程语言 时间:
2017-08-20 19:47:47
阅读次数:
155
RACSignal: 信号类,当数据改变的时候,内部会发出信号,本身不能发送信号,而是交给一个订阅者(RACSubscriber)去发送,创建的时候block内部会带一个订阅者。 RACSubscriber: 订阅者,本身是个协议,用于发送信号, RACDisposable: 清洁工,用于取消订阅, ...
分类:
其他好文 时间:
2017-08-16 10:01:25
阅读次数:
150
一、创建操作: 1、观察者模式:RxJava的世界里,我们有四种角色: Observable<T>(被观察者)、Observer(观察者) Subscriber(订阅者)、Subject Observable和Subject是两个“生产”实体,Observer和Subscriber是两个“消费”实体 ...
分类:
编程语言 时间:
2017-08-11 13:24:45
阅读次数:
240
大家都知道,模块间的耦合不利于代码的可读性和可维护性,好的代码一般都会按功能或者别的将代码模块化,那么模块化的代码之间怎么通信呢?下面来介绍两种用于模块间解耦的设计模式。 观察者模式 概念介绍 观察者模式也被称作消息机制或发布-订阅者模式,为了解决主题对象与观察者之间功能的耦合。 观察者模式有一个消 ...
分类:
其他好文 时间:
2017-08-09 23:35:07
阅读次数:
183
1. C#事件的概念 C# 中时间允许一个对象将发生的事件通知其他对象,将发生的事件的事件源叫发行者,通知其他的对象叫订阅者,但是订阅者可以定义也可以不定义(事件发生者也可以是事件的订阅者) 1 class Program 2 { 3 static void Main(string[] args) ...
分类:
其他好文 时间:
2017-08-07 17:40:22
阅读次数:
139
一:Redis 发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 cl ...
分类:
数据库 时间:
2017-08-05 15:39:35
阅读次数:
224
生产者/消费者模式 简单介绍 用来干嘛的? 生产者/消费者模式的产生主要目的就是为了解决非同步的生产与消费之间的问题。 什么是非同步呢? 比方我刚刚生产了某个产品,而此时你正在打游戏,没空来取,要打完游戏来取,这就导致了我生产产品和你取产品是两个非同步的动作,你不知道我什么时候生产完产品,而我也不知 ...
分类:
其他好文 时间:
2017-08-05 14:13:59
阅读次数:
166
基于版本:Guava 22.0 Wiki:EventBus 0. EventBus简介 提供了发布-订阅模型,可以方便的在EventBus上注册订阅者,发布者可以简单的将事件传递给EventBus,EventBus会自动将事件传递给相关联的订阅者。 支持同步/异步模式。 只能用于线程间通信。 1. ...
分类:
其他好文 时间:
2017-08-04 12:48:41
阅读次数:
260
发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似。pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者在物理部署上的耦合。Redis作为一个pub/sub server,在订阅者和发布者之间起到了消息路 ...
分类:
其他好文 时间:
2017-07-23 22:30:38
阅读次数:
130
一、发布 在发布/订阅模式中的角色是彼此陌生的。 一个发布者只是向世界说这个已经发生了,一位订阅者告诉世界“我在乎这个”。 在这个模型中,没有人关心特定的事件是很好的。 消息可能有一个订阅者,可能有200个,或者可能没有。 发布者不应该关心。 EasyNetQ实现这种模式。 如果您开始发布,并且没有 ...
分类:
Web程序 时间:
2017-07-13 17:15:31
阅读次数:
258