[Zope3-dev] RFC: Updated better interface declaration proposal

Phillip J. Eby pje@telecommunity.com
Fri, 07 Mar 2003 08:52:12 -0500


At 11:12 AM 3/6/03 -0500, Jim Fulton wrote:

>I've updated Steve's proposal for improving the way interfaces implementstions
>are declared:
>
>   http://dev.zope.org/Zope3/BetterInterfaceImplements
>
>I'd like to start implementing this soon, so please let me know soon if
>there's anything you'd like to change or if you are violently opposed to
>the change.

As of the moment, I'm pretty opposed, at least with regard to the 
terminology, and I'm iffy on some of the semantics.

The specific terminology I have issues with is the use of 'classImplements' 
when it's really the class's *instances* that implement, as opposed to the 
class itself.  Also, I find the new spelling of declaration for classes 
implementing things (i.e. objectImplements after the fact) to be quite 
horrid.  I have a feeling that what I'll end up doing if this goes through, 
is adding metaclass code so I can have __class_implements__ back!  The nice 
thing about __class_implements__ is that I can put it at the top of a class 
statement, where it's visible.

I'm a heavy user of classes that are themselves components, implementing 
different interfaces than their instances, so I'm -1 on making that 
scenario a second-class citizen in the new scheme of things.   I believe I 
mentioned this in the comments for the previous version of the proposal.

So, at the moment, a big -1 on the whole thing.  Please note that I'd be 
more than happy to help with implementation fixes to make 
__class_implements__ more workable.