Balancing Coupling in Software Design
summary
Argues coupling is a design tool, not a sin, and introduces a practical integration strength model with four levels—intrusive, functional, model, contract—grounded in structured design, kinescence, and Domain‑Driven Design heuristics. Measures coupling by three dimensions (strength, distance, volatility) and offers a simple maintenance metric pain = strength×distance×volatility used to evaluate decompositions. Recommends concrete actions: remove accidental intrusive coupling, push contracts between components, shorten distance when volatility and strength stay high. Examples include shared databases classified into the four coupling types.
AI-written summary · about
chapters (14)
- 0:00Introduction and speaker background
- 1:06Preview of upcoming book
- 2:11Definition and nature of coupling
- 9:59Dimensions of coupling: strength
- 17:53Coupling models: structural design and kinescence
- 29:07Integration strength model
- 35:10Distance and coordination effort
- 40:31Volatility and subdomains
- 45:29Balancing coupling dimensions
- 49:07Examples of coupling in microservices
- 51:12Monolith decomposition pitfalls
- 53:17DDD patterns for coupling
- 55:05Practical application of the pain function
- 56:13Q&A session
related talks
51mBalancing Coupling in Software Design
56mBalancing Coupling in Software Design
48mBalancing Coupling in Software Design
41mUncoupling
56mContinued Learning: The Beauty of Maintenance -
46mHiding The Lead
51mHiding The Lead: Coupling, Cohesion, and Microservices-Style
48mI Made Everything Loosely Coupled. Does My App Fall Apart?
