22-職責チェーン(Chain of Resposibility)


職責チェーン(Chain of Resposibility)
  • 1. 定義
  • 2. 適用シーン
  • 3. 要点まとめ
  • 4. Demo

  • 1.定義
    複数のオブジェクトがリクエストを処理する機会を与え、リクエストの送信者と受信者との結合関係を回避します.これらのオブジェクトをチェーンに接続し、オブジェクトが処理されるまで、このチェーンに沿ってリクエストを渡します.
    2.適用シーン
  • ソフトウェア構築プロセスにおいて、1つの要求は複数のオブジェクトによって処理される可能性があるが、各要求は実行時に1人の受信者しか存在しない.明示的に指定されると、要求送信者と受信者との緊密な結合を少なくもたらす必要はない.
  • リクエストの送信者に特定の受信者を指定する必要がないようにするにはどうすればいいですか?リクエストの受信者自身が実行時にリクエストを処理することを決定し、両者をデカップリングする.

  • 3.要点まとめ
  • Chain of Resposibilityモードの適用は、「1つのリクエストには複数の受信者があるかもしれないが、最後に本当の受信者は1つしかない」ということである.この場合、リクエスト送信者と受信者の結合には「変化が脆弱」な症状が現れる可能性があり、職責チェーンの目的は、両者をデカップリングすることで、変化
  • によりよく対応することである.
  • Chain of Resposibilityモードを適用すると、オブジェクトの役割割り当てがより柔軟になります.実行時にリクエスト者の処理職責を動的に追加/変更できます.
  • 要求が職責チェーンの最後に渡されても処理されない場合は、合理的なデフォルトメカニズムがあるはずです.これも、リクエストを発行したオブジェクトの責任ではなく、各受信オブジェクトの責任です.

  • 4. Demo