观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主....
分类:
其他好文 时间:
2014-09-29 23:29:41
阅读次数:
336
介绍基于Pub/Sub模式的Demo实现。功能很简单:
从消息发布端Pub发布一个消息事件OrderCompletedEvent,多个客户端(如SubA和SubB)订阅该事件OrderCompletedEvent。那么当Pub发布消息后,SubA和SubB就能够收到该消息OrderCompletedEvent。
SubA和SubB接收到消息后,根据需要进行一定的处理。然后他们都会发布一个WorkDoneEvent事件消息。这次服务端订阅WorkDoneEvent消息。当SubA和SubB发布WorkDo...
分类:
其他好文 时间:
2014-09-28 18:01:34
阅读次数:
200
发布订阅模式的publisher中有这么一句代码,将arguments转换为真正的数组var args = Array.prototype.slice.call(arguments,0);这种算内置对象原型的调用,可以使用;而编码规范中要求的“不允许修改内置的对象原型”是类似下面这种String.p...
分类:
其他好文 时间:
2014-09-25 15:32:19
阅读次数:
182
观察者模式(Observer)完美的将观察者和被观察的对象分离开。
在GOF的《设计模式:可复用面向对象软件的基础》一书中对观察者模式是这样说的:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。当一个对象发生了变化,关注它的对象就会得到通知;这种交互也称为发布-订阅(publish-subscribe)。目标是通知的发...
分类:
其他好文 时间:
2014-09-24 16:26:37
阅读次数:
185
消息传递有很多种方式,请求/响应(Request/Reply)是最常用的。在前面的博文的例子中,很多都是采用请求/响应的方式,当服务器接收到消息后,会立即write回写一条消息到客户端。HTTP协议也是基于请求/响应的方式。但是请求/响应并不能满足所有的消息传递的需求,有些需求可能需要服务端主动推送...
分类:
Web程序 时间:
2014-09-22 11:20:02
阅读次数:
306
消息传递有很多种方式,请求/响应(Request/Reply)是最常用的。在前面的博文的例子中,很多都是采用请求/响应的方式,当服务器接收到消息后,会立即write回写一条消息到客户端。HTTP协议也是基于请求/响应的方式。但是请求/响应并不能满足所有的消息传递的需求,有些需求可能需要服务端主动推送消息到客户端,而不是被动的等待请求后再给出响应。发布/订阅(Publish/Subscribe)是一...
分类:
Web程序 时间:
2014-09-19 13:50:45
阅读次数:
203
本文说明如何在树莓派上安装Mosquitto。本文通过两个简单的例子说明树莓派中如何使用MQTT协议实现消息订阅,这些例子包括Mosquitto_sub指令实现消息订阅和paho-python扩展库实现GPIO端口的远程控制。本文中使用了两个工具——Mosquitto paho-python,其中Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的消息通信简单易用;另外,paho-python是一个符合MQTT v3.1...
分类:
编程语言 时间:
2014-09-13 21:29:26
阅读次数:
576
MQTT是IBM开发的一个即时通讯协议。MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制。Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用。...
分类:
其他好文 时间:
2014-09-13 17:21:15
阅读次数:
247
Pub/Sub订阅,取消订阅和发布实现了发布/订阅消息范式(引自wikipedia),发送者(发布者)不是计划发送消息给特定的接收者(订阅者)。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅。订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的。这种发布者和...
分类:
Web程序 时间:
2014-09-11 16:53:52
阅读次数:
328
数据库同步问题
1.有一台主数据库服务器A和另外一台数据库服务器B,客户端首先访问数据库B,当B数据库服务器挂掉时就访问A,当对数据库B进行DML操作时,同时对A进行更新,如果A与B之间通讯失败,则将更新后数据存入临时表,当恢复通讯时,自动更新,并将临时数据删除,同样当B不通时,将数据临时存在A中,B恢复连接时,A对B进行更新,怎么实现?
数据库同步更新步骤:主要是采用MSSQL数据库的复制功...
分类:
数据库 时间:
2014-09-06 22:37:24
阅读次数:
232