Strategyとは Strategyは、アルゴリズムをカプセル化するために使われるパターンだ。ある処理に対して複数のアルゴリズムが存在する場合、それぞれのアルゴリズムをクラスとして定義し、切り替えながら使う事で、拡張性を高く保つ事ができる。 GoF本の分類によると、Strategyパターンには2つのクラスが登場する。1つは、アルゴリズムを実現するStrategyクラスだ。Strategyクラスは抽象クラスとして、そのサブクラスに具体的なアルゴリズムを実装する。もう1つは、そのクラスを利用するContextクラスだ。 Startegyクラスについては、正直なところ、これ以上特筆する事がないようにも感じる。クラスを切り替える事によってアルゴリズムを変更するというのは、オブジェクト指向プログラミングにおいてはある程度定石とも言えるものだろう。Strategyが提案するパターンには、目新しさはそ