๐Dependency injection
Various ways to pass/forward/inject dependencies:
- Passing explicit arguments
- Passing dependencies to object constructors
- Dependency injection frameworks
- React context or similar
- Monads
- Closures (kind of?)
- ยง Effect system
- Co-effects
- Global variables to pass rarely-used dependencies
- Dynamic scoping is a better model for global variablesโDynamic scoping as a way to inject dependencies
- Package managers are dependency injection mechanisms