Em Zope, os eventos são usados por componentes para informar-se mutuamente sobre novos objetos relevantes e objeto modificações.
Para manter todos os assinantes até à data, é indispensável que o ciclo de vida de um objeto é acompanhado por vários eventos.
& Nbsp; >>> from importação zope.event notificar
& Nbsp; >>> from zope.lifecycleevent ObjectCreatedEvent importação, ObjectModifiedEvent
& Nbsp; >>> class Sample (objeto):
& Nbsp; ... "class Test"
& Nbsp; >>> obj = Sample ()
& Nbsp; >>> notificar (ObjectCreatedEvent (obj))
& Nbsp; >>> obj.modified = True
& Nbsp; >>> notificar (ObjectModifiedEvent (obj))
Alguns consumidores de eventos como catálogos e caches pode precisar de mais informações para atualizar-se de uma maneira eficiente. A informação necessária pode ser fornecida como descrições de modificação opcional do ObjectModifiedEvent.
Alguns exemplos:
& nbsp; >>> de zope.interface Interface de importação, Atributo, implementos
& Nbsp; >>> class IFile (Interface):
& Nbsp; ... dados = Atributo ("Dados")
& Nbsp; ...
& Nbsp; >>> Arquivo classe (objeto):
& Nbsp; ... implementos (IFILE)
& Nbsp; ...
& Nbsp; >>> file = Arquivo ()
& Nbsp; >>> file.data = "123"
& Nbsp; >>> notificar (ObjectModifiedEvent (obj, IFile))
Isto diz que nós modificamos algo via IFile. Note-se que uma interface é uma descrição aceitável. Na verdade, poderíamos permitir que praticamente qualquer coisa como uma descrição e depende de suas necessidades que tipo de descrições que você usa
O que é novo nesta versão:.
- Adicione classificadores Trove indicando apoio CPython e PyPy.
O que é novo na versão 3.7.0:
- Adicionado funções de conveniência para paralelo zope.lifecycleevent.modified para os outros eventos definidos neste pacote.
Requisitos :
- Python
Comentários não encontrado