State Machine
videojs/videojs-contrib-ads · GitHub
video.jsと関連プラグインのソースを見ていて、理解するのに苦労したけど、仕組みをわかって見ると感心した部分の骨組みを自分なりに書き出しました。
状態マシンを実装した部分。 playerの状態に対応した関数が実行される。 更に、その関数のなかでplayerの状態が変化した場合に状態からの脱出、新しい状態への変化に対応するアクションも定義できるというもの。
ざっくり枠組みだけ書いたけど、もっと具体的なケースを考えるとなお良かった。