We finally replaced the implicit coupling with explicit coupling in part 4 of this little series of articles. Now I want to take a moment to reflect on that journey and what, if anything, it achieved. (If you’re new here, maybe go back to part 1 to come up to speed.)
I first came across a parallel with the concept of entanglement here: http://www.carlopescio.com/2010/11/notes-on-software-design-chapter-12.html where it is used as the term for all coupling, implicit or explicit. Physics has lots of useful metaphors (that do not work exactly in the same way) such as dampening to prevent a change rippling through, or centers of gravity for places that accrue more code over time.
I first came across a parallel with the concept of entanglement here: http://www.carlopescio.com/2010/11/notes-on-software-design-chapter-12.html where it is used as the term for all coupling, implicit or explicit. Physics has lots of useful metaphors (that do not work exactly in the same way) such as dampening to prevent a change rippling through, or centers of gravity for places that accrue more code over time.