Related: Cohesion, Software Engineering


Coupling refers to the degree of dependency between one service and another in your application. We want low coupling.

❌ High Coupling

The internal implementation of affects many others.

  • If we make a change in how works (e.g. now returns two values instead of one), we need to potentially change the code in all other services connected to it
  • If fails, many services will fail or block as well

✅ Low Coupling

Services don’t depend on too many other services.