Start with the theory material, then choose the TypeScript, frontend, or testing material that matches your question. The list is intentionally short and focused on the framework-free frontend scope of this course.
The first lesson's recommended path is the SSENSE Tech TypeScript refactor followed by Fowler's explanations of DI and IoC. Return to the course glossary when the terms begin to overlap.
Theory
- Inversion of Control Containers and the Dependency Injection pattern, Martin Fowler . This article named DI. It covers constructor and setter injection, DI versus Service Locator, and separating configuration from use.
- InversionOfControl, Martin Fowler . This short article explains the "Hollywood Principle" and IoC.
- DIP in the Wild, Brett L. Schuchert . It separates DI, IoC, and DIP as wiring, direction, and shape.
- The Principles of OOD, Robert C. Martin . This is the source of the "depend on abstractions, not concretions" wording.
- Dependency Injection Principles, Practices, and Patterns, chapter 1, Seemann and van Deursen . It covers composition-root practice and Pure DI in a free sample, and introduces DI myths and the Service Locator warning.
TypeScript
- TypeScript Patterns for Manual Dependency Injection, Arista . It covers framework-free constructor injection, contracts, hand-written wiring, and test substitution.
- Dependency Injection vs Dependency Inversion vs Inversion of Control, SSENSE Tech . It walks through a TypeScript refactor from coupling to injection and DIP.
Frontend frameworks
- Dependency injection in Angular, Angular documentation . This shows services, injection contexts, and test doubles in a framework.
-
Defining dependency providers, Angular documentation
. It lists provider levels and
useClass,useValue, anduseFactory. - Hierarchical injectors, Angular documentation . It explains scoped provider resolution in Angular, including ElementInjector, EnvironmentInjector, and NullInjector.
- Passing data deeply with Context, React documentation . It describes Context as a delivery channel, the create/use/provide pattern, and when simpler props are enough.
Testing
-
Mocking, Vitest documentation
. It covers
vi.fn, module mocks, spies, fakes, and mocks when a hand-written fake is not enough. - Stop mocking fetch, Kent C. Dodds . It explains why a small fake can keep a browser test focused on application logic.
How to use this list
Read the lesson first, then use the glossary to check vocabulary. The resources are further study, not prerequisites for opening the next lesson. This public page contains curated learner-facing links only; it does not publish private authoring notes or learning records.