-
コールバック関数を使用する方法: この方法では、イベントが発生した際に呼び出されるコールバック関数を定義します。具体的なコード例を示します。
def event_handler(event_data): # イベントの処理 ... # イベントの購読 subscribe_to_event(event_name, event_handler)
-
イベントデリゲートを使用する方法: イベントデリゲートは、イベントを処理するためのメソッドを指定するオブジェクトです。以下に例を示します。
public delegate void EventHandler(EventData eventData); public class EventSubscriber { public event EventHandler Event; public void Subscribe() { // イベントの購読 Event += eventHandler; } private void eventHandler(EventData eventData) { // イベントの処理 ... } }
-
パブリッシャー/サブスクライバーパターンを使用する方法: このパターンでは、パブリッシャーとサブスクライバーの間でイベントが送信され、処理されます。以下に例を示します。
# パブリッシャー class EventPublisher: def __init__(self): self.subscribers = [] def subscribe(self, subscriber): self.subscribers.append(subscriber) def publish_event(self, event_data): for subscriber in self.subscribers: subscriber.handle_event(event_data) # サブスクライバー class EventSubscriber: def __init__(self): ... def handle_event(self, event_data): # イベントの処理 ... # イベントの購読と処理 publisher = EventPublisher() subscriber = EventSubscriber() publisher.subscribe(subscriber) publisher.publish_event(event_data)
以上が、イベントの購読と処理に関するいくつかの方法と、それぞれの方法のコード例です。これらの手法を使用して、イベント駆動型のプログラムを開発することができます。