IT用語集 › プログラミング › ストラテジーパターン

ストラテジーパターン

プログラミング Svenska → 更新: 2026-10-22

GoFのデザインパターンの1つ。アルゴリズムの集まりを定義し、それぞれを共通のインターフェースを持つクラスとしてカプセル化して、実行時に交換できるようにする。

古典的な例は、SortStrategy を実装した複数のソートアルゴリズム(QuickSort、MergeSort、HeapSort)である。クライアントはストラテジーへの参照を持ち、処理を委譲する。クライアントを変更せずに差し替えられる。

第一級関数を持つ言語では、ストラテジーは関数を引数に渡すだけのことが多い(list.sort(key=...))。C++やJavaでは、クラスとして現れる。このパターンが生きるのは、アルゴリズムが単純でなく、固有の状態を持つ場合である。

← 用語集に戻る