春のセール
Chain of Responsibility

Chain of Responsibility を PHP で

Chain of Responsibility 振る舞いに関するデザインパターンの一つで 潜在的なハンドラーの連鎖の上を ハンドラーのどれかが処理するまで リクエストを回していきます

このパターンを利用すると 送り手のクラスと受け手の具象クラスとを結合することなく 複数のオブジェクトにリクエストを処理する機会を与えることができます 連鎖は実行時に 標準のハンドラー・インターフェースに従うハンドラーから動的に構成されます

複雑度

人気度

使用例 Chain of Responsibility パターンは PHP の種々のフレームワークで結構よく使われます 議論の余地はありますが PHP でこのパターンを使う最も有名な例としては PSR-15 に記述されている PHP リクエスト・ミドルウェアがあげられます

見つけ方 共通のインターフェースに従うオブジェクトのグループで 実作業を行うメソッドが 別のオブジェクトの同一メソッドを呼ぶことから このパターンを識別できます

他言語での Chain of Responsibility

Chain of Responsibility を C# で Chain of Responsibility を C++ で Chain of Responsibility を Go で Chain of Responsibility を Java で Chain of Responsibility を Python で Chain of Responsibility を Ruby で Chain of Responsibility を Rust で Chain of Responsibility を Swift で Chain of Responsibility を TypeScript で