202204272309 Modules should be loosely coupled
Modules should not depend on other modules' internals. They should also be as loosely dependent on other modules' APIs as possible. This gives us the ability to swap modules out for one another (e.g., through 202204291515 Dependency inversion). In practice this typically just means respecting the boundaries of the APIs given, but sometimes it means we should even avoid using tools or APIs that give us too much information or require us to know too much information about the module to use.
Links to this note
- 202109061338 Software Engineering
- 202204272307 Code that changes together should live together
- 202402201204 Resilient, self-organizing systems will generate hierarchies
- 202406271256 Essential XP Emergent Design
Linked from this note