Chapter 12: Components
Components are the units of deployment — JARs, DLLs, shared libraries. Martin traces their history from early relocatable binaries to modern package managers, establishing the foundation for the component cohesion and coupling principles that follow.
Chapter 13: Component Cohesion
Three principles govern which classes belong in which component: REP (Reuse/Release Equivalence), CCP (Common Closure), and CRP (Common Reuse). They form a tension triangle — understanding the trade-offs helps you choose the right grouping strategy for your project's stage.
Chapter 14: Component Coupling
Three principles govern dependencies between components: ADP (no dependency cycles), SDP (depend in the direction of stability), and SAP (stable components should be abstract). These principles shape large-scale architecture and determine which components can evolve independently.