私の理解では、「コンポーネントに対する責任を美化する」ことの危険性は、責任をシステムコンポーネントに直接変換しないように注意する必要があることを意味します。
たとえば、電子メールシステムでは、ユーザーは受信者へのメッセージを開始することを目的としてシステムにアプローチする場合があります。これを可能にするのはシステムの責任です。
ユーザーは、システムにアクセスして電子メールを読んだり返信したりすることもできます。これを可能にするのもシステムの責任です。
しかし、これは、システムに「新しい電子メールを開始する」と「電子メールに返信する」という2つのコンポーネントが必要であることを意味しますか?いいえ。一般的な「電子メールの作成」コンポーネントは、両方の要件を処理できます。
したがって、この場合、コンポーネント「電子メールの作成」は、ユーザーの目標「新着メールの開始」と「メールへの返信」を担当します。ただし、変更する必要があるのは、コアコンセプト(「電子メールの作成方法」)が変更された場合のみです。
Cockburnによる次のフレーズをもう一度よく見てください。「コンポーネントは、システムで目的を持つ抽象化をキャプチャすることになっています」。システムの目的(変更の理由)は、ユーザーの目標(責任)を達成する目的と同じではありません。
簡単に言うと、私の理解では、コンポーネントには理想的には1つのコアコンセプトがあります。それにはいくつかの責任があるかもしれません。しかし、私が見ているように、1つの責任が複数のコンポーネントに割り当てられていない可能性があります。