ЧИСТЫЙ КОД И ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ
Освойте паттерны проектирования и принципы чистого кода — для профессионального или личного роста.
Лектор: Олег Фокин
Principal Software Engineer в
SoftServe

о курсе
- Бонус:
1:1 с обсуждением
курсового проекта
для трех лидеров курса - Курсовой проект:
кейс для портфолио
с использованием
паттернов - Длительность:
21 онлайн-занятие
в течение 1,5 месяцев
Научитесь проектировать решения, которые легко поддерживаются, масштабируются и вписываются в бизнес-логику продукта. Курс поможет упорядочить знания, структурировать подходы и научиться использовать паттерны для крепкой архитектуры.
Вы освоите:
- Factory Method
- Singleton
- Strategy
- Observer
- Decorator
- Command
- Adapter
- Template Method
- Facade
- Builder
- и еще 10+ паттернов проектирования
ЛЕКТОР
Олег Фокин
Principal Software Engineer в SoftServe
-
имеет 20+ лет опыта в разработке программного обеспечения, основная специализация — программирование на С++
-
former Lead Developer в Ubisoft, научит не просто писать код «правильно», а мыслить как инженер, понимающий код в контексте систем, бизнеса и команды
-
работал с играми, CAD-системами, облачной архитектурой, AI/ML, полиграфическими программами и редакторами векторной графики
-
обучался в программах Google Bootcamp и Google Cloud Professional Architect, обладает сильной экспертизой в проектировании масштабируемых систем
Программа
-
01 занятие
Знакомство с курсом
- Познакомитесь с лектором и куратором курса
- Узнаете, как пользоваться LMS
- Рассмотрите структуру курса, задачи и особенности
-
02 занятие
Принципы создания структурированного кода
- Разберетесь в концепциях программирования, узнаете, какие основные инструменты и подходы существуют для улучшения кода
- Научитесь объяснять свои мнения и код с помощью диаграмм UML
- Рассмотрите понятия «чистый код», «рефакторинг», Test-Driven Development
-
03 занятие
Рефакторинг «плохого» кода
- Разберетесь в типах рефакторинга
- Ознакомитесь с признаками «плохого» кода
- Наглядно увидите, чем «хороший» код отличается от «плохого»
- Узнаете, как рефакторить «плохой» код во время livecoding-сессии
-
04 занятие
Антипаттерны
- Узнаете, что такое антипаттерны
- Научитесь избегать или исправлять антипаттерны
- Поймете, что такое чрезмерное и недостаточное проектирование
- Овладеете «критическим» и «конструктивным» видением структурирования кода
-
05 занятие
Категории и классификации паттернов
- Научитесь классифицировать паттерны
- Ознакомитесь с GRASP- и GoF-паттернами
- Рассмотрите способы реализации паттернов
-
06 занятие
Q&A с лектором
- Рассмотрите основные ошибки в домашних заданиях
- Будете иметь более четкое овервью пройденного материала
- Получите ответы на непонятные вопросы
-
07 занятие
Порождающие паттерны. Part № 1
- Узнаете, какие задачи решают порождающие паттерны
- Научитесь создавать объекты с помощью порождающих паттернов: Factory Method, Abstract Factory, Builder, Prototype
-
08 занятие
Порождающие паттерны. Part № 2
- Ознакомитесь с паттерном Singleton и примерами его реализации
- Научитесь избегать его недостатков и применять альтернативные техники
- Поработаете с другими полезными порождающими паттернами
-
09 занятие
Q&A с лектором
- Рассмотрите основные ошибки в домашних заданиях
- Будете иметь более четкое овервью пройденного материала
- Получите ответы на непонятные вопросы
-
10 занятие
Структурные паттерны. Part № 1
- Узнаете, какие задачи решают структурные паттерны
- Поймете разницу между композицией и наследованием и как выбрать механизм взаимодействия объектов
- Разберете структурные паттерны: Adapter, Proxy, Composite, Facade
- Научитесь применять эти паттерны на практике
-
11 занятие
Структурные паттерны. Part № 2
- Разберете паттерны Decorator и Flyweight и узнаете, какие проблемы они решают
- Примените Decorator для логирования и обработки ошибок
- Задействуете Flyweight для оптимального использования объектов, зависящих от контента
-
12 занятие
Структурные паттерны. Part № 3
- Рассмотрите паттерн Bridge и справитесь с его использованием
- Примените Opaque pointer (pimpl) для скрытия деталей имплементации
- Поймете концепцию функциональной композиции и построения Pipeline
-
13 занятие
Q&A с лектором
- Рассмотрите основные ошибки в домашних заданиях
- Будете иметь более четкое овервью пройденного материала
- Получите ответы на непонятные вопросы
-
14 занятие
Паттерны поведения. Part № 1
- Узнаете, какие задачи решают паттерны поведения
- Поймете концепцию First-class function
- Рассмотрите паттерны: Command, Scheduled task, Null object, Mock object
- Научитесь применять эти паттерны на практике
-
15 занятие
Паттерны поведения. Part № 2
- Рассмотрите паттерны: State, Memento, Mediator, Observer, Chain of Responsibility, Template Method, Strategy, Interpreter и увидите применение этих паттернов на практике
- Используете паттерн State для реализации программы как конечного автомата, инкапсуляции текущего состояния и предполагаемых изменений состояния программы
- Овладеете паттерном Memento для реализации автосохранения
- Примените паттерн Observer для синхронизации/согласования поведения разных частей программы
-
16 занятие
Паттерны поведения. Part № 3
- Узнаете, какие бывают итераторы и как они реализованы
- Поймете двойную диспетчеризацию и паттерн Visitor
- Научитесь применять Visitor в различных практических задачах
- Увидите связи между паттернами и составите полную картину их взаимодействия
-
17 занятие
Q&A с лектором
- Рассмотрите основные ошибки в домашних заданиях
- Будете иметь более четкое овервью пройденного материала
- Получите ответы на непонятные вопросы
-
18 занятие
Patterns of Enterprise Application. Part № 1
- Узнаете, как развивались принципы проектирования и решения проблем масштабирования
- Разберетесь в задачах, стоящих перед современными программными системами
-
19 занятие
Patterns of Enterprise Application. Part № 2
- Разберетесь в ORM-паттернах
- Попрактикуете лучшие паттерны параллелизма
-
20 занятие
Итоги и roadmap по развитию карьеры
- Получите рекомендации от лектора по дальнейшему карьерному развитию
- Узнаете, какие самые популярные вопросы задают на собеседованиях в IT-компаниях
-
21 занятие
Презентация курсового проекта
- Презентуете курсовой проект лектору и коллегам
регистрация
СТАРТ КУРСА — В ИЮНЕ 2026 ГОДА