October 2023
Intermediate to advanced
321 pages
7h 52m
English
Strong or loose, we live in dread,
Of the coupling monster under the bed.
Yet without it, your system would flake,
Coupling is a pillar you can’t forsake.
The term “coupling” is often used as a shorthand for poor design. When a system’s structure actively resists changes we want to make, or when we are trying to find our way out of a labyrinth of entangled dependencies, we blame it on coupling. Not surprisingly, our natural tendency is to go ahead and “decouple everything.” Whether they’re classes, modules, services, or whole systems, we tend to break them apart so that the smaller components will give us the freedom to implement and evolve each component independently.
But is coupling necessarily the root ...