From Service Locator to Composition Root: A Pragmatic Journey to Explicit DI
How I refactored MatchPicks from a monolithic AppRegistry to an explicit, compiler-checked Composition Root using constructor dependency injection, without heavy frameworks.