[Zope3-dev] zwiki: performance of findChildren()

Steve Alexander steve@cat-box.net
Wed, 30 Apr 2003 15:23:03 +0200


Chris Withers wrote:
> Max M wrote:
> 
>> Why put the relation in the object?
> 
> 
> ...becasue it's much more natural to work that way.
> 
>> Isn't it better to have a container with different relations?
> 
> Not really.

Am I alone in finding this use of the word "relations" rather jarring?

These are relationships. Tables in a relational database are "relations".
If you're working with a relational database management system, one way 
to express a relationship is by way of a relation.


> If you wanted to know what someone was working on, would you ask them or 
> ask their mother?

If you want to know what section of a book shop to find an Italian 
dictionary, would you look on the dictionary, or look at the signs 
around the shop / ask a shop assistant.

Note that the correct place for an Italian dictionary in a bookshop 
depends on whether or not you are in Italy.

Some relationships are intrinsic to an object, and so can be well 
expressed as a descriptor in the object's class.
Other relationships are not intrinsic to an object, and are a property 
of the system that the object is used within. These cannot be expressed 
as a descriptor in the object's class.

This is a similar distinction to that which was made for the 
"registration" and the "configuration" of Zope 3 services.
The configuration is of things intrinsic to the service. The 
registration is of the service with the rest of the system.

--
Steve Alexander