是否可以使用REST API实现观察者模式

时间:2017-02-27 07:49:33

标签: node.js rest push-notification chat observer-pattern

我是模式的新手,并且想知道是否可以使用REST api实现观察者模式。我目前的观点是,由于REST更像是一种拉结构,而观察者更像是一种推送体系结构,所以它是不可能的。

欢迎你的想法。

1 个答案:

答案 0 :(得分:2)

对象维护一个依赖者/观察者列表,并在状态变化时自动通知他们。为了实现观察者模式,EventEmitter来救援

// MyFancyObservable.js
var util = require('util');  
var EventEmitter = require('events').EventEmitter;
function MyFancyObservable() {  
EventEmitter.call(this);
}
util.inherits(MyFancyObservable, EventEmitter); 

就是这样;我们刚做了一个可观察的对象!为了使其有用,我们为其添加一些功能。

MyFancyObservable.prototype.hello = function (name) {  
this.emit('hello', name);
};

太好了,现在我们的观察者可以发出事件 - 让我们尝试一下!

var MyFancyObservable = require('MyFancyObservable');  
var observable = new MyFancyObservable();

observable.on('hello', function (name) {  
console.log(name);
});

observable.hello('john'); 

了解更多详情,请点击链接 Fundamental Node.js Design Patterns

Immediate State Updates for REST/HTTP APIs using Observer Pattern