Начинаем модуль про архитектурные принципы, которые проверяют не столько знание синтаксиса, сколько умение проектировать код, который потом реально можно поддерживать и тестировать. Первый принцип - внедрение зависимостей (Dependency Injection, DI).