Component & Package Principles
How to organize classes into components/packages (Clean Architecture).
Table of Contents
- REP (Release Reuse Equivalency Principle): The granule of reuse is the granule of release.
- CCP (Common Closure Principle): Classes that change together belong together.
- CRP (Common Reuse Principle): Don’t force users of a component to depend on things they don’t need.
- ADP (Acyclic Dependencies Principle): Allow no cycles in the component dependency graph.
- SDP (Stable Dependencies Principle): Depend in the direction of stability.
- SAP (Stable Abstractions Principle): A component should be as abstract as it is stable.