[Zope-dev] implementing zope.component 4.0
Martijn Faassen
faassen at startifact.com
Mon Nov 30 11:54:54 EST 2009
Hanno Schlichting wrote:
> On Mon, Nov 30, 2009 at 5:09 PM, Martijn Faassen <faassen at startifact.com> wrote:
>> Leonardo Rochael Almeida wrote:
>>> * Use a different package name!
>> We don't have that option, as we're talking about changing the behavior
>> of calling IFoo.
>
> It's very well possible. You create a new distribution called for
> example "Interface". Now you can write:
>
> import interface
> import zope.interface
>
> class IFoo(interface.Interface): pass
>
> class IBar(zope.interface.Interface): pass
>
> Depending on what "kind" of interface you have the semantics of
> calling these are different. Not that I'm proposing to do this, as it
> leads to a pretty horrible mess, but it's possible.
True. But nitpicking, as all along we're talking about an upgrade to
zope.component to allow new semantics.
> We are just now getting rid of the old Zope2 Interface package and its
> usage in Plone land, which has the same kind of incompatibility
> problem. I expect that old version of interfaces is still going to be
> with us for a number of years. So experience shows that something so
> central, even if not used for many important things, has a much much
> longer lifetime than you'd expect.
Agreed. By taking everything along at the same time in this case I think
we avoid this issue somewhat, though.
Regards,
Martijn
More information about the Zope-Dev
mailing list