イベントドリブンモデルには、主に以下の 4 つのオブジェクトが登場する。作業者同士で、用語に対する認識の違いや混同を防ぐために、これらについて簡単にまとめてみようと思う。
- イベントソース
- イベントオブジェクト
- イベントリスナ
- イベントハンドラ
イベントドリブンモデルを上記の用語を用いて表現すると
- イベントソースのイベントが発生する。
- イベントリスナがイベントの発生を知る。その際にイベントオブジェクトを受け取る。
- イベントリスナのイベントハンドラが実行される。
となるが、これでは理解しづらい。具体的な例として「リモコンでテレビのチャンネルを変える」という動作を用いる。リモコンとテレビに焦点をあて、一連の動作を詳細化すると
- リモコンのチャンネルボタンが押される。
- テレビがチャンネル情報を受信する。
- テレビのチャンネルが切り替わる。
この 3 段階に分けることができる。この順序は、冒頭のイベントドリブンモデルの順序と一致しており、各用語を対応させると以下のようになる。
- イベントソース : リモコン
- イベントオブジェクト : イベント自身・付随情報としてチャンネル情報
- イベントリスナ : テレビ
- イベントハンドラ : チャンネルが切り替わる動作
イベントソースとイベントリスナの間では、イベントのインタフェースを一致させる必要がある。