← ノート一覧

閉鎖性共通の原則(CCP: Common Closure Principle)

Clean Architecture 達人に学ぶソフトウェアの構造と設計

Clean Architecture 達人に学ぶソフトウェアの構造と設計

同じ理由、同じタイミングで変更されるクラスをコンポーネントにまとめること。変更の理由やタイミングが異なるクラスは、別のコンポーネントに分けること。

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

同じタイミング、同じ理由で変更するものはひとまとめにすること。変更のタイミングや異なるものは別々に分けること。

Amazon アソシエイトについて

この記事には Amazon アソシエイトのリンクが含まれています。Amazonのアソシエイトとして、SuzumiyaAoba は適格販売により収入を得ています。