春のセール
Decorator

Decorator を PHP で

Decorator 構造に関するパターンのひとつで オブジェクトをと呼ばれる特別なラッパー・オブジェクト内に配置することにより 新しい振る舞いを動的に追加できます

対象のオブジェクトとデコレーターは同じインターフェースに従うため デコレーターを使うと オブジェクトを何重にも包み込むことができます その結果として生成されるオブジェクトは 全部のラッパーの振る舞いを集積した振る舞いをします

複雑度

人気度

使用例 Decorator は PHP コードではかなり標準的で 特にストリームに関連するコードではよく使われます

見つけ方 Decorator は そのクラスと同じクラスまたはインターフェースのオブジェクトをパラメーターとして取る生成メソッドかコンストラクターの存在により識別できます

他言語での Decorator

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