Dimensions of Coupling

The Dimensions of Coupling section explores the three forces that shape the relationships between software components: integration strength, distance, and volatility. These dimensions don’t act in isolation—instead, their interplay determines whether a design leads to modularity or complexity. Understanding these dimensions helps software designers make coupling a conscious, strategic decision–rather than an accidental liability.

Integration Strength

Integration Strength categorizes how much knowledge is shared between coupled components and the risks it introduces. This article presents a practical model for assessing coupling through four levels—intrusive, functional, model, and contract—and explores how shared knowledge impacts modularity and system change.

Distance

Distance between coupled components—whether in code, teams, or runtime—significantly impacts the cost and complexity of change. This article explores distance as a key socio-technical dimension of coupling, affecting lifecycle and runtime dependencies in software systems.

Volatility

Volatility is the third key dimension of coupling, capturing the likelihood of change in a component. This article explores how domain-driven design's subdomains—and other models like Wardley Maps—help assess volatility and guide resilient software design.