Dispatcher
タスクの分配をしているとも取れる
EventとHandlerのルーティング(対応付け)をしている
中央集権的なEvent管理も行う?
全てのEventはここに飛んできて、これが適切にEvent Handlerに割り振っていく
飛んできたEventを1つずつ実行していく
これ自体はEventを処理せず、ただ渡すだけ
こういう登場人物がある
何らかの操作により生成される
特定のEventが発生したときに実行される
Eventに応じた具体的な処理を行う
Dispacher
具体例
関数の呼び出しと内容の紐づけを静的にやるか動的にやるかという話
「特定の関数の呼び出し」をEventと捉えて、「対応する処理場所」へのdispatchをする 知らん
GPT-4.icon例
code:ts
interface Event<T> {
type: string;
payload: T;
}
type EventHandler<T> = (payload: T) => void;
class EventDispatcher {
private handlers: { key: string: EventHandler<any> } = {}; register<T>(type: string, handler: EventHandler<T>): void {
this.handlerstype = handler; }
dispatch<T>(event: Event<T>): void {
if (handler) {
handler(event.payload);
} else {
console.error(No handler for event type: ${event.type});
}
}
}