En Zope, eventos son utilizados por los componentes de informarse mutuamente sobre los nuevos objetos relevantes y objeto modificaciones.
Para mantener a todos los abonados al día es indispensable que el ciclo de vida de un objeto va acompañado de diversos eventos.
& Nbsp; >>> de importación zope.event notificar
& Nbsp; >>> from ObjectCreatedEvent importación zope.lifecycleevent, ObjectModifiedEvent
& Nbsp; >>> Muestra clase (objeto):
& Nbsp; ... "clase de prueba"
& Nbsp; >>> obj = Muestra ()
& Nbsp; >>> notificar (ObjectCreatedEvent (obj))
& Nbsp; >>> obj.modified = True
& Nbsp; >>> notificar (ObjectModifiedEvent (obj))
Algunos consumidores de eventos como los catálogos y cachés pueden necesitar más información para actualizar a sí mismos de una manera eficiente. La información necesaria puede ser proporcionada como descripciones modificación optativa de los ObjectModifiedEvent.
Algunos ejemplos:
& nbsp; >>> Interfaz de importación zope.interface, Atributo, implementos
& Nbsp; >>> clase IFile (Interfaz):
& Nbsp; ... data = Atributo ("Datos")
& Nbsp; ...
& Nbsp; >>> clase File (objeto):
& Nbsp; ... implementos (iFile)
& Nbsp; ...
& Nbsp; >>> file = Archivo ()
& Nbsp; >>> file.data = "123"
& Nbsp; >>> notificar (ObjectModifiedEvent (obj, IFile))
Esto dice que modificamos algo través IFile. Tenga en cuenta que una interfaz es una descripción aceptable. De hecho, podríamos permitir que casi cualquier cosa como una descripción y depende de sus necesidades de qué tipo de descripciones que utiliza
¿Qué hay de nuevo en esta versión:.
- Añadir clasificadores Trove que indican el apoyo CPython y PyPy.
¿Cuál es nuevo en la versión 3.7.0:
- funciones de confort Añadido a paralelo zope.lifecycleevent.modified Los demás hechos definidos en este paquete.
Requisitos
- Python
Comentarios que no se encuentran