Design Patterns in TypeScript · Part 10 — Proxy & Dependency Injection
Control access and wire your app for testability: the JS Proxy for reactivity/validation/lazy loading, Dependency Injection and Inversion of Control, the composition root, and choosing constructor injection over service-locator.