PROFESSIONAL GAME CREATOR SCHOOL G学院 用語集

OFFICIAL SITEへ戻る

Chain of Responsibility

 Chain of Responsibilityとは、オブジェクト指向プログラミングにおける23種類の公式、デザインパターンの1つです。このデザインパターンはオブジェクトの振舞いに関するパターンです。
 Chain of Responsibilityパターンは、一言でまとめると、ある処理の受取り対象となる複数のオブジェクトに連鎖状の関係を構築することで、処理を行うことが可能なオブジェクトに渡るまで、オブジェクト達の間で連鎖的に処理を移していくパターンです。このパターンの特徴は利用者と処理者達が役割の認識を曖昧にできている点にあります。処理の依頼者側は「複数のオブジェクトの誰かがやってくれる」という認識であり、処理する側は「可能ならば処理し、不可能ならば次へ流す」というように役割の認識が無くなります。例えるならば、役所で担当部署がわからないで近場の部署に行き、たらい回しにされるイメージです。たらい回しになりますが、いずれは解決します。
 Chain of Responsibilityの実装においては、基本的な処理を行うインターフェースを定義し、そこで自身で処理できなかった場合は、次へ回すという機能を付けます。そして、派生したクラスでは、可能であれば要求を処理し不可能であれば連鎖し連なっている次のオブジェクトに処理するようにコーディングを行います。これらは実行する前に、オブジェクトに連鎖関係を作っておく必要もあります。

用語集一覧へ戻る