このエントリは、Do You PHP?(www.doyouphp.jp)で公開していたコンテンツを移行/加筆/修正したものです。公開の経緯はこちらをどうぞ。目次はこちらです。サンプルコードを手直ししたものをgithubに上げてありますのでそちらもどうぞ。 GoF本における分類 振る舞い+オブジェクト はじめに ここではStateパターンについて見ていきましょう。 stateという単語は「状態」の意味がありますが、Stateパターンは物ではなく「状態」をクラスとして表現し、「状態」ごとに振る舞いを切り替えられるようにするパターンです。 たとえば たとえば、部屋の照明を考えてみましょう。照明には、点灯している状態(オン)と消灯している状態(オフ)の2つの状態があることになります。照明の状態がオンの場合、当然ですが照明が灯っている、つまり「明かりが灯る」という動作をしていると言えます。逆にオフの
![PHPによるデザインパターン入門 - State〜状態を表す - Do You PHP はてブロ](https://cdn-ak-scissors.b.st-hatena.com/image/square/f6e30a93b11602a10a3eaed9c5d046a225d6f655/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fs%2Fshimooka%2F20141208%2F20141208192739.png)