Philipp von Weitershausen wrote at 2006-9-30 02:30 +0200:
...
You want to stick this interface to individual objects, while Lennart proposed to stick it to a type and use some kind of inheritance to make it effective on all objects instantiated from this type.
But where does this type come from? Persistent classes are hard (hence ZClasses cannot be maintained by anyone except a few people).
I remember that Jim proposed "PersistentModule"s, currently a ZODB proposal, to implement functionality similar to ZClasses in an easier way. But, I cannot yet answer your question sincerely.
For me, Lennart's approach seems to be far more economic, as he does things on an abstract (the type) level rather than always work on the concrete (the individual object) level.
I don't see how introducing another concept (a type) would be more economic.
I find that the introduction of classes with (multiple) inheritance has been very economic. It was another concept but a highly fruitful one, despite the fact that they are not so liked in Zope3 land. As a former mathematician, I also like the introduction of abstraction layers (object -> type/class -> metatype/metaclass -> ...) as abstraction often drastically increases economicity.
It'd be one more thing to worry about wrt persistency etc.
Your answer to Lennart made me a bit unsure. It appears as if an interface could live on different abstraction levels -- at least together with ZCML and adapter magic. I am not yet really familiar with this. Let's see what Lennart answers. -- Dieter