春のセール
Chain of Responsibility

Chain of Responsibility を Swift で

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

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

複雑度

人気度

使用例 Chain of Responsibility パターンは Swift ではよく見かけます フィルターやイベント・チェーンのようなオブジェクトの連鎖を対象に動作するコードを書く時に 最も役に立ちます

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

以下の例は Swift Playgroundsで利用できます。
Playgroundバージョンを作成してくれた Alejandro Mohamadに感謝します。

他言語での Chain of Responsibility

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