Stephan Richter wrote:

IMO multi-typed interfaces would make sense. Would you have any
objections if I change the code the following way:

module: zope.app.component.interface.py, line 78
75 if iface_type is not None:
76 if not iface_type.extends(IInterface):
77 raise TypeError(iface_type, "is not an interface type")
78 directlyProvides(interface, iface_type,
directlyProvidedBy(interface))



I would like to see a use case first. Once we can agree that the use case is really necessary, this change will be fine.


It's not just a matter of use case, it's also a matter of potentially unintended misconfiguration and side effects:
The directly-provide-implementation decision allows multi-typed interfaces on python level. As soon
the interface directive is invoked manipulation on python level will be 'removed' by a single type
information. Such behavior complicates the live of developer knowing the interface package only.


Use case: Typing interfaces within orthogonal application domains:
-> CMS-Domain -> IContentType, IEventType, ...
-> Business-Domain -> IAnyBusinessDomainType

Regards,
Dominik


_______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Reply via email to