In Zope, gli eventi sono utilizzati da componenti di informarsi reciprocamente su importanti nuovi oggetti e oggetto modifiche.
Per mantenere tutti gli abbonati aggiornati è indispensabile che il ciclo di vita di un oggetto è accompagnato da vari eventi.
& Nbsp; >>> dall'importazione zope.event notificare
& Nbsp; >>> da zope.lifecycleevent ObjectCreatedEvent importazione, ObjectModifiedEvent
& Nbsp; >>> Esempio di classe (oggetto):
& Nbsp; ... "classe Test"
& Nbsp; >>> obj = Sample ()
& Nbsp; >>> notificare (ObjectCreatedEvent (obj))
& Nbsp; >>> obj.modified = True
& Nbsp; >>> notificare (ObjectModifiedEvent (obj))
Alcuni consumatori di eventi come i cataloghi e le cache possono avere bisogno di ulteriori informazioni per aggiornarsi in modo efficiente. Le informazioni necessarie possono essere fornite descrizioni opzionali modifica della ObjectModifiedEvent.
Alcuni esempi:
& nbsp; >>> da zope.interface Interface importazione, attributi, attrezzi
& Nbsp; >>> classe iFile (Interface):
& Nbsp; ... Dati = Attribute ("Dati")
& Nbsp; ...
& Nbsp; >>> classe File (oggetto):
& Nbsp; ... attrezzi (iFile)
& Nbsp; ...
& Nbsp; >>> file = File ()
& Nbsp; >>> file.data = "123"
& Nbsp; >>> notificare (ObjectModifiedEvent (obj, iFile))
Questo dice che abbiamo modificato qualcosa tramite iFile. Si noti che l'interfaccia è una descrizione accettabile. In realtà, si potrebbe consentire praticamente qualsiasi cosa come una descrizione e dipende dalle vostre esigenze che tipo di descrizioni che si usa
Cosa c'è di nuovo in questa versione:.
- Aggiungi classificatori Trove indicano supporto CPython e PyPy.
Cosa c'è di nuovo nella versione 3.7.0:
- funzioni Aggiunto convenienza a parallelo zope.lifecycleevent.modified per gli altri eventi definiti in questo pacchetto.
Requisiti
- Python
I commenti non trovato