Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

dependency injection

Handing a component the things it depends on, instead of letting it create them itself.

Dependency injection passes collaborators (a store, a clock, a mailer) into a type through trait-bounded generics or trait objects, so they can be swapped in tests and configuration.

Read the full section →