[Zope-dev] implementing zope.component 4.0
Hanno Schlichting
hanno at hannosch.eu
Mon Nov 30 11:42:19 EST 2009
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.
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.
Hanno
More information about the Zope-Dev
mailing list