நிகழ்வு அமைப்பு

கஃபரில் உள்ள நிகழ்வு அமைப்பு * நிகழ்வுகளை * கையாளவும், நிகழ்வுகளுக்கு * குழுசேரவும் ஒரு பநிஇ ஐ வழங்குகிறது.

Kaphor இல் EventAlanager சேவையின் மூலம் நிகழ்வு கையாளுபவர் சந்தாக்களை நிர்வகிக்கிறோம். கஃபர் மிகவும் நிகழ்வு உந்துதல்:

  • ஏற்றப்பட்ட மாதிரியில் மாற்றங்கள் நிகழ்வுகளாக வெளியேற்றப்படுகின்றன

  • வரைபடங்களில் மாற்றங்கள் நிகழ்வுகளாக வெளியேற்றப்படுகின்றன

  • இடைமுகம் இல் மாற்றங்கள் நிகழ்வுகளாக வெளியேற்றப்படுகின்றன

காஃபர் அதன் பயனர் இடைமுகத்திற்காக சி.டி.கே. நிகழ்வுகள் படிநிலைகளில் கட்டமைக்கப்படலாம். எடுத்துக்காட்டாக, ஒரு பண்புக்கூறு 'நிகழ்வு என்பது எலிமெண்ட்டேட்டட்` இன் துணை வகையாகும். கூறுகளுக்கான அனைத்து மாற்றங்களிலும் நாங்கள் ஆர்வமாக இருந்தால், நாங்கள் எலிமெண்டப் டேட்டட் ஐ பதிவுசெய்து அனைத்து` பண்புக்கூறு 'நிகழ்வுகளையும் பெறலாம்.

class gaphor.core.eventmanager.EventManager[source]

நிகழ்வுகளை அனுப்ப நிகழ்வு மேலாளர் ஒரு நெகிழ்வான வழியை வழங்குகிறது.

நிகழ்வு அனுப்புதல் என்பது கஃபரில் ஒரு மைய அங்கமாகும். இது பயன்பாட்டின் மாற்றங்களுக்கு எதிர்வினையாற்ற காஃபரில் உள்ள கூறுகளை அனுமதிக்கிறது.

நிகழ்வுகள் வகை மூலம் அனுப்பப்படுகின்றன.

class subscribe(self, handler: Callable[[object], None])

ஒரு கையாளுபவரை பதிவு செய்யுங்கள்.

நிகழ்வுகள் வெளிப்படும் போது கையாளுபவர்கள் தூண்டப்படுகிறார்கள் (செயல்படுத்தப்படுகிறார்கள்) handle முறை.

class unsubscribe(self, handler: Callable[[object], None])

முன்னர் பதிவுசெய்யப்பட்ட கையாளுபவரை பதிவு செய்யவும்.

class handle(self, *events: object)

பதிவு செய்யப்பட்ட கையாளுபவர்களுக்கு நிகழ்வு அறிவிப்புகளை அனுப்பவும்.

gaphor.core.event_handler(*event_types)[source]

ஒரு குறிப்பிட்ட வகை நிகழ்வுக்கு நிகழ்வு கையாளுபவராக ஒரு செயல்பாடு/முறையைக் குறிக்கவும்.

தனிப்பயன் நிகழ்வு வகை கொடுக்கப்பட்டுள்ளது:

>>> class CustomEvent:
...     def __str__(self):
...         return type(self).__name__

இதை நீங்கள் ஒரு கையாளுபவர் முறை அல்லது செயல்பாட்டிற்கு பயன்படுத்தலாம்:

>>> @event_handler(CustomEvent)
... def custom_handler(event: CustomEvent):
...     print(event)

நிகழ்வு மேலாளரால் கூட கையாள அனுமதிக்க இது உங்களை அனுமதிக்கும்:

>>> event_manager = EventManager()
>>> event_manager.subscribe(custom_handler)
>>> event_manager.handle(CustomEvent())
CustomEvent

ஊட் நிகழ்வுகளின் கீழ் செனரிக்ச் நூலகத்தால் கையாளப்படுகிறது. பொதுவான நூலகம் நிகழ்வுகளை எவ்வாறு கையாளுகிறது என்பது பற்றிய கூடுதல் தகவலுக்கு பொதுவான ஆவணங்கள் ஐப் பார்க்கவும்.