On Mon, Dec 14, 2009 at 12:45 PM, Nathan Stott <
nrs...@gmail.com> wrote:
> What is the difference you see between SignalObserve and PubSub? PubSub
> seems like an "observer" pattern to me. "Observer" implies polling when you
> first hear it, but I have never seen it implemented that way except when
> crossing service boundaries. PubSub is usually used in SOA to refer to
> 'events' that cross service boundaries.
> Signal and Emit sound lower level to my ear than Publish and Subscribe, but
> suggest the same functionality.
It seems like a there are distinct groups of cohesive terms that are
functionally similar. In Codish, that usually means they're begging
for a distinction, or one of them needs to get voted off the boat.
PubSub is more about syndication, like RSS and Atom, in my experience,
and SignalObserver is, like you say, more low level, less about
streams of events and more about a distributed event graph. Events
also imply the existence of "event" objects and may have "bubbling"
semantics or whatever else attached to them based on the Event type.
Here are some equivalence classes:
* signal (v.), emit, publish, (send)
* signal (n.), signaler, emitter, publisher
* observer, subscriber
* observe, subscribe, (addListener, addEventListener)
* event loop
* observer pattern, pub/sub pattern
* ?, feed
* event, ?
Some promise related terms:
* promise (in addition to what it is in other languages (a reference
that gets resolved to a value in place), a type of emitter that emits
"ok" or "error" events exactly once to any number of observers, and
emits the same event to any new observers after it has been resolved.
might be reasonable for it to also have "progress" with some
extensions)
* resolver
* resolve
* reject (break in other languages)
* defer, future (returns a promise, resolver pair)
I can't speak intelligently about what distinguishes a promise,
future, or deferred. Kris and I are thinking of using Future as the
type of a promise, resolver, progress group.
I suspect that something cool and elegant would come out of bringing
all this together, but I'm not sure what yet :P
Kris Kowal