Помогите разобраться. Никак не могу воткнуть в концепцию интерфейсов.
Пример из zope3book:
…
from zope.app.dublincore.interface import ICMFDublinCore
class MessageDetails:
def author(self):
“”“Get user who last modified the message.”“”
creators=ICMFDublinCore(self.context).creators
это что за форма записи такая? Прям берем интерфейс, засовываем ему чево-то как аргумент, да и получаем доступ к его атрибутам?
Да и нет у него таких атрибутов. .creators есть в классе, ZopeDublinCore, который
>>> ICMFDublinCore.implementedBy(ZopeDublinCore)
>>> True
Как понимать такое использование интерфейса Interface(object).attr ???
Где прочитать?