[Zope3-dev] EventService, references, and subscription semantics

Shane Hathaway shane@zope.com
Tue, 26 Feb 2002 12:16:31 -0500


Phillip J. Eby wrote:
> At 10:53 AM 2/26/02 -0500, Shane Hathaway wrote:
>> Any object should be "referenceable", but the name IReferenceable 
>> suggests the need for all referenceable objects to implement 
>> IReferenceable, which I assume you did not intend.
> 
> 
> No, it just requires that one be able to get an adapter that implements 
> 'IReferenceable'.  Objects that want to control how their references are 
> generated *can* implement IReferenceable, however.

Forgive my misunderstanding, but...

What you're really saying is that you intend, in your own work, to make 
a bunch of classes that implement IReferenceable.  That way you get to 
use references without using either adapters or utilities, right?

Although you talk about using adapters but not utilities, I don't think 
you realize that utilities don't *have* to be placeful, and utilities 
are actually more reusable outside Zope than adapters.  (Utilities are 
simpler.)  So I think you intended to say you don't want to use any CA 
at all.

But what would you *do* with these IReferenceables?  Without CA, you 
don't have services, so you don't have an event service, and the 
original motivation for references is gone.  You must have some other 
objective.

Also, like I told Steve, because of placefulness, I don't believe an 
object in Zope can adequately generate a reference to itself.  Some 
other component needs to help.

Shane