commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Neil O'Toole <>
Subject Re: [collections][PROPOSAL] Remove Observable subpackage
Date Thu, 27 Nov 2003 01:17:28 GMT

--- Stephen Colebourne <> wrote:
> We've had all positives so far. I'm going to take this as agreed and
> move
> the code to a new sandbox project. I reckon [observable] is probably
> the
> best name, although I'm open to offers.

I don't have strongly held opinions on the naming, but I went through
the process of picking a name for a collections
observable/notifying/eventsending/callbacking package, and I figured
I'd share the thoughts I had on it.

Firstly, it certainly should be [observable] rather than [observed],
but I'm not going to pretend to remember enough about english grammar
to explain why [observable] is better :)

I had originally considered this [observable] name when I set about
creating my implementation. One of the first things I did (this was
circa Sep 2002 I think) was search on the web to see if anybody else
had already implemented such a package. The snippet of text that
decisively turned me away from the [observable] name was this:

> Observability. An observable collection is one in which it is
possible to view the elements in a collection.


... which of course is the crux of the issue. The familiar
implementations of the collections API are all observable, in that you
can examine the elements of the collection, such as via an iterator.
But the [notifying/observable] implementations we've developed
*actively* signal information, typically when the collection changes
(although that is not necessarily the case - I could envisage an
implementation that sends an event when the collection changes *or*
every X seconds, or when some other predicate is satisfied).

So, rather than denoting passivity, I figured the name needed to
indicate the "active signaling of state information by the object being
observed". A snappier name for this behaviour is "notification", so I
went with the name [notifyingcollections] over [observablecollections].
You also save a letter in typing ;)

Though I don't feel very strongly about it, I still believe that
[notifying] is a more indicative name than [observable], and I would
suggest we use it. However, I still have a sneaking suspicion that
there is a fugitive word out there that better captures the essence of
the "active signalling of state information by the object being
observed", so hats off to anyone who can conjure it up :)


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message