[Zope3-dev] Multi Interface Types Registration

Dominik Huber dominik.huber at projekt01.ch
Mon Apr 25 10:48:45 EDT 2005


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




More information about the Zope3-dev mailing list