Reduce Coupling

Supports Pillars:

Technical Excellence

Dependencies on Other Skills:

Refactoring

Definition:

Reducing coupling is removing dependencies from existing code.

Triggers:

we discover a need to re-use code and find the existing code can't easily be removed from its context

multi-step test setup

a distracting number of mocks in unit tests

Forces:

lower coupling increases the number of objects/modules

lower coupling may use dependency injection or other configuration technologies, making the system harder to understand

Resources:

?