Our protagonist learns about dependency injection patterns from a senior developer. She starts with naive direct instantiation that cannot be tested. After trying setter injection and constructor injection, she realizes factories allow returning different object types. This achieves 100% test coverage while keeping classes focused. Further exploration reveals the patterns were first described by Martin Fowler and Richard Miller has written extensively on their use in Symfony.