同じ理由、同じタイミングで変更されるクラスをコンポーネントにまとめること。変更の理由やタイミングが異なるクラスは、別のコンポーネントに分けること。
- 単一責任の原則(SRP)をコンポーネント向けに言い換えたもの。
- 変更の理由が異なるクラスは別のコンポーネントに分けるという原則
- コンポーネントを変更する理由が複数あるべきではない。
- アプリケーションのコードを変更しなければいけないときには、ひとつのコンポーネントに変更箇所がまとまっているほうが、あちこちのコンポーネントに散らばっているよりもありがたい。
- 変更箇所がひとつのコンポーネントに閉じていれば、変更後にデプロイする必要があるのはそのコンポーネントだけになる。
- 同じタイミングで変更されることが多いクラスはひとつにまとめておけ。
- 2つのクラスが物理的あるいは概念的に密結合していて、変更のタイミングいつも一緒になるのであれば、それは同じコンポーネントに属するもの。
- 変更の種類が似ているクラスをひとつのコンポーネントにまとめる。
同じタイミング、同じ理由で変更するものはひとまとめにすること。変更のタイミングや異なるものは別々に分けること。
