Chain of Responsibility

別名たらいまわし

オブジェクトAをその中身で処理する内容を変える場合、リスト構造で処理するオブジェクトを繋げて、条件に合うオブジェクトで処理されるまでAを次のオブジェクトへおくっていく。これは結構よく使う(と思う。)。
これの利点は条件を簡単に追加できることだと思う。
条件分岐をどこかひとつのクラスでまとめてやろうと思ったら、結構大変なことになるので、分岐じゃなく、合致すれば処理、しなければ次のクラスに丸投げ。というのは素敵な考え。
ただ基本リスト構造なのでちょっと処理が遅い。