春のセール
Strategy

Strategy を PHP で

Strategy 振る舞いに関するデザインパターンの一つで 一連の振る舞いをオブジェクトに転換し 元のコンテキスト・オブジェクト内で交換可能とします

元のオブジェクトは コンテキストと呼ばれ 一つのストラテジー・オブジェクトへの参照を保持し それに振る舞いの実行を委任します コンテキストがその作業を実行する方法を変えるために 他のオブジェクトが 現在リンクされているオブジェクトを違うものと置き換えるかもしれません

複雑度

人気度

使用例 PHP コードでは Strategy パターンが頻繁に利用されます 実行時にアルゴリズムを変更する必要がある場合 特にです しかし このパターンには 2009 年に PHP 5.3 で導入された匿名関数という強い競争相手がいます

見つけ方 入れ子になったオブジェクトに何か実際の作業をさせるメソッドや そのオブジェクトを他のものと入れ替えるための setter の存在で Strategy パターンを識別できます

他言語での Strategy

Strategy を C# で Strategy を C++ で Strategy を Go で Strategy を Java で Strategy を Python で Strategy を Ruby で Strategy を Rust で Strategy を Swift で Strategy を TypeScript で