I Zope, er hendelser som brukes av komponenter for å informere hverandre om aktuelle nye objekter og objekt modifikasjoner.
For å holde alle abonnenter oppdatert det er uunnværlig at livssyklusen til et objekt er ledsaget av ulike arrangementer.
& Nbsp; >>> fra zope.event import varsle
& Nbsp; >>> fra zope.lifecycleevent import ObjectCreatedEvent, ObjectModifiedEvent
& Nbsp; >>> klasse Sample (objekt):
& Nbsp; ... "Test class"
& Nbsp; >>> obj = Sample ()
& Nbsp; >>> varsle (ObjectCreatedEvent (obj))
& Nbsp; >>> obj.modified = True
& Nbsp; >>> varsle (ObjectModifiedEvent (obj))
Noen hendelses forbrukere som kataloger og cacher kan trenge mer informasjon for å oppdatere seg på en effektiv måte. Nødvendig informasjon kan gis som valgmodifikasjons beskrivelser av ObjectModifiedEvent.
Noen eksempler:
& nbsp; >>> fra zope.interface import Interface, attributt, redskaper
& Nbsp; >>> klasse iFile (Interface):
& Nbsp; ... data = Attribute ("Data")
& Nbsp; ...
& Nbsp; >>> klassen File (objekt):
& Nbsp; ... redskaper (iFile)
& Nbsp; ...
& Nbsp; >>> file = Fil ()
& Nbsp; >>> file.data = "123"
& Nbsp; >>> varsle (ObjectModifiedEvent (obj, iFile))
Dette forteller at vi endret noe via iFile. Legg merke til at et grensesnitt er en akseptabel beskrivelse. Faktisk kan vi tillate ganske mye annet som en beskrivelse og det avhenger av dine behov hva slags beskrivelser du bruker
Hva er nytt i denne utgaven.
- Legg Trove klassifiserere indikerer CPython og PYPY støtte.
Hva er nytt i versjon 3.7.0:
- Lagt convenience funksjoner til parallell zope.lifecycleevent.modified for de andre hendelser er definert i denne pakken.
Krav
- Python
Kommentarer ikke funnet