一連の責任とは何ですか?
責任の連鎖(COR)には、オブジェクト指向設計パターンのすべてのエンティティの活動と責任を示すプロセスが含まれます。 オブジェクト指向のデザインには2つの基本的な要素があります。コマンドオブジェクトとオブジェクトの処理。コマンドオブジェクトは、処理オブジェクトへのコマンドを生成し、処理オブジェクトは、それらが処理できるコマンドから選択し、チェーン内の他のものに残りを渡すことができるコマンドから選択します。これは、オブジェクト指向のデザインの基本原理であり、責任チェーンのデザインパターンの任意の場所にあるオブジェクトの新しいエンクロージャーなど、デザインにはるかに柔軟性があります。コマンドを処理するために並んでいる異なるオブジェクトのチェーンがあり、それを処理できない場合、それを渡すことができますチェーンの次のもの。責任の連鎖は、オブジェクトの1つがコマンドを受け入れるまで続き続けます。
責任のチェーンは、より柔軟になり、チェーン内の新しいハンドラーの追加をサポートする必要があります。各ハンドラーはあらゆるタスクを実行できないため、集合的に作業できるハンドラーのグループが必要です。チェーンの終わりであっても、いくつかのコマンドが未解決のままであるため、一連の責任にいくつかの欠点がある可能性があります。この問題に対処するために、1つの解決策は、すべての可能なリクエストにすべてのハンドラーを実装することです。
責任システムの壊れたリンクに関連するいくつかの問題がある可能性があります。プログラマがコマンドのリンクを忘れた場合、リクエストが迷子になる可能性があります。リクエスト表現は、責任連鎖のすべてのコンポーネントで使用されているため、重要です。別の欠陥thaCORの設計にある可能性があります。これは、具体的なハンドラーの問題のために、チェーンの終わりでいくつかの要求が完全に対処されない可能性があることです。 しかし、全体として、責任の連鎖は、関連するすべての側面を考慮して、慎重に設計されている場合、実装するのに適したシステムです。