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