TechWorkRamblings

by Mike Kalvas

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.