Mark Pearl

What is Coupling?

Just because two elements interact, does not mean that they are coupled.

Two elements are coupled if a change to one element implies a change to another element.

Coupling is important to software design becuase the costs of changing software are dominated by rippling changes (which means one section of code is coupled to another section).

The exponetially rippling changes kills you in software design.

Reducing coupling takes effort. The more you try to reduce coupling, the more expensive it gets. There is a trade off curve between effort and coupling.

Coupling vs Complexity

Coupling Complexity Quadrants

References

Normal Accidents: Living with High-Risk Technologies
Software Design - Why, When & How



blog comments powered by Disqus

Want to get my personal insights on what I learn as I learn it? Subscribe now!


/