Continued Learning: The Beauty of Maintenance - Kent Beck - DDD Europe 2020

Coupling and Cohesion

A meaning of coupling in this particular way I’m talking about it.

software is built out of elements (variables, statements, functions, classes, modules, services, repositories).

If I have 2 elements, A and B, if I say they are coupled, it means, if I change A, I also have to change B.

Changing A implies changing B.

decouple by making things worse, then making them better. stage the changes.

start publishing extra new parameter. start in consumers to read from new parameter drop old parameter from publisher