13
Managing Coupling
Coupling is one of the most important ideas to think about when we start to think about how to manage complexity.
Coupling is defined as “the degree of interdependence between software modules; a measure of how closely connected two routines or modules are; the strength of the relationships between modules.”1
Coupling is an essential part of any system, and in software we are often lax in discussing it. We often talk about the value of more loosely coupled systems, but let’s be clear: if the components of your software system are perfectly decoupled, then they can’t communicate with one another. This may, or may not, be helpful.
Coupling is not something that we can, or should, aim to always wholly eliminate.
Cost of ...
Get Modern Software Engineering: Doing What Works to Build Better Software Faster now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.