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:
?