是否可以使用 REST API 实现观察者模式
Is it possible to implement observer pattern using REST API
我是模式的新手,想知道是否可以使用 REST api 实现观察者模式。我目前的观点是这是不可能的,因为 REST 更像是一种拉架构,而观察者更像是一种推架构。
欢迎您的想法。
一个对象维护一个 dependents/observers 的列表,并在状态更改时自动通知它们。为了实现观察者模式,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);
};
太好了,现在我们的 observable 可以发出事件了 - 让我们来试试吧!
var MyFancyObservable = require('MyFancyObservable');
var observable = new MyFancyObservable();
observable.on('hello', function (name) {
console.log(name);
});
observable.hello('john');
有关详细信息,请关注 link
Fundamental Node.js Design Patterns
Immediate State Updates for REST/HTTP APIs using Observer Pattern
我是模式的新手,想知道是否可以使用 REST api 实现观察者模式。我目前的观点是这是不可能的,因为 REST 更像是一种拉架构,而观察者更像是一种推架构。
欢迎您的想法。
一个对象维护一个 dependents/observers 的列表,并在状态更改时自动通知它们。为了实现观察者模式,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);
};
太好了,现在我们的 observable 可以发出事件了 - 让我们来试试吧!
var MyFancyObservable = require('MyFancyObservable');
var observable = new MyFancyObservable();
observable.on('hello', function (name) {
console.log(name);
});
observable.hello('john');
有关详细信息,请关注 link Fundamental Node.js Design Patterns
Immediate State Updates for REST/HTTP APIs using Observer Pattern