Чему вы научитесь
- Применять 20 ключевых паттернов проектирования: Стратегия, Наблюдатель, Фабричный метод, Абстрактная фабрика, Декоратор, Адаптер, Команда, Состояние, Глобальный объект, Синглтон, Связанный метод, Объект-страж, Строитель, Заместитель, Репозиторий, Фасад, Цепочка обязанностей, Шаблонный метод, Компоновщик, Пул объектов
- Превращать жёстко связанный код (tight coupling) в слабосвязанную, легко тестируемую архитектуру
- Использовать внедрение зависимостей (Dependency Injection) для управления компонентами
- Проектировать системы в соответствии с принципами SOLID, не превращая их в переусложнённые «монстры»
- Выбирать правильный паттерн под конкретную задачу, а не притягивать модные шаблоны ради самих шаблонов
- Писать чистый, выразительный Python-код, используя сильные стороны языка: функции как объекты первого класса, декораторы, протоколы и динамическую природу
О курсе
Для кого этот курс
Начальные требования
-
Уверенное владение Python на уровне ООП: классы, наследование, магические методы, исключения
-
Понимание базовых принципов работы программ: переменные, циклы, функции, модули
-
Желательно иметь опыт написания хотя бы одного небольшого проекта: веб-сервис, скрипт, утилита; чтобы лучше чувствовать боль «неповоротливого кода»
-
Специальных знаний паттернов или архитектур не требуется
Преподаватели курса
Как проходит обучение
-
Лекции — информация подаётся в текстовом виде
-
Несколько тестов после блока теории содержат по 4 варианта ответа, только один из которых правильный
-
Интерактивные задания прямо в браузере: вы не просто смотрите, а пишете и запускаете код на Stepik, проходя тесты
-
Постепенное усложнение: практические задания в уроке, как правило, начинаются с лёгких, и их сложность увеличивается к последнему
-
Рефакторинг-челленджи: получаете запутанный код и с помощью изученных паттернов превращаете его в гибкую систему
-
В конце вы научитесь распознавать паттерны в коде реальных библиотек Python
-
Можно проходить в своём темпе, доступ к материалам остаётся навсегда
Что вы получите
- Системное понимание архитектуры: перестанете бояться изменений в требованиях, потому что код будет к ним готов
- Уверенность на технических собеседованиях — сможете не только назвать паттерны и SOLID, но и показать, когда, как и зачем их применять в Python
- Набор готовых шаблонов для своих проектов и пет-проектов, которые можно сразу использовать, а не изобретать велосипед
- Официальный сертификат Stepik, подтверждающий прохождение курса
- Навык, который останется с вами на всю карьеру: писать чистый, сопровождаемый Python-код, который не стыдно показывать коллегам