イベントドリブンモデルに登場するオブジェクトの意味

イベントドリブンモデルには、主に以下の 4 つのオブジェクトが登場する。作業者同士で、用語に対する認識の違いや混同を防ぐために、これらについて簡単にまとめてみようと思う。

イベントドリブンモデルを上記の用語を用いて表現すると

  1. イベントソースのイベントが発生する。
  2. イベントリスナがイベントの発生を知る。その際にイベントオブジェクトを受け取る。
  3. イベントリスナのイベントハンドラが実行される。

となるが、これでは理解しづらい。具体的な例として「リモコンでテレビのチャンネルを変える」という動作を用いる。リモコンとテレビに焦点をあて、一連の動作を詳細化すると

  1. リモコンのチャンネルボタンが押される。
  2. テレビがチャンネル情報を受信する。
  3. テレビのチャンネルが切り替わる。

この 3 段階に分けることができる。この順序は、冒頭のイベントドリブンモデルの順序と一致しており、各用語を対応させると以下のようになる。

  • イベントソース : リモコン
  • イベントオブジェクト : イベント自身・付随情報としてチャンネル情報
  • イベントリスナ : テレビ
  • イベントハンドラ : チャンネルが切り替わる動作

イベントソースとイベントリスナの間では、イベントのインタフェースを一致させる必要がある。