ЧИСТИЙ КОД І ПАТЕРНИ ПРОЄКТУВАННЯ
Створюйте код, який масштабують, а не переписують.
Лектор: Олег Фокін
Principal Software Engineer у
SoftServe

Курс для розробників та QA Automation, які:
На курсі ви
- Бонус:
1:1 з обговоренням
вашого проєкту для
трьох лідерів курсу - Курсовий проєкт:
кейс для портфоліо
з використанням
патернів - Тривалість:
21 онлайн-заняття
протягом 1,5 місяців
Навчитеся проєктувати рішення, які легко підтримуються, масштабуються та вписуються в бізнес-логіку продукту. Впорядкуєте знання, структуруєте підходи, опануєте 30+ патернів, зокрема GoF, GRASP та DDD для міцної архітектури. Дізнаєтесь, як рефакторити чужий код, оптимізувати й спрощувати власний, та отримаєте практичні поради від лектора.
Олег Фокін
Principal Software Engineer в SoftServe
former Lead Developer в Ubisoft
-
має 20+ років досвіду в розробці програмного забезпечення
-
працював з іграми, CAD-системами, хмарною архітектурою, AI/ML, поліграфічними програмами та редакторами векторної графіки
-
навчався в програмах Google Bootcamp та Google Cloud Professional Architect, має сильну експертизу в проєктуванні масштабованих систем
-
основна спеціалізація — програмування на С++
-
навчить не просто писати код «правильно», а мислити як інженер, що розуміє код у контексті систем, бізнесу й команди

Програма
-
01 заняття8/20/2025 19:00
Знайомство з курсом
- Познайомитеся з лектором та куратором курсу
- Дізнаєтесь, як користуватися LMS
- Розглянете структуру курсу, завдання та особливості
-
02 заняття8/20/2025 19:00
Принципи створення структурованого коду
- Розберетеся в концепціях програмування, дізнаєтеся, які основні інструменти та підходи існують для покращення коду
- Навчитеся пояснювати свої думки та код за допомогою діаграм UML
- Розглянете поняття «чистий код», «рефакторинг», Test-Driven Development
-
03 заняття8/27/2025 19:00
Рефакторинг «поганого» коду
- Розберетеся в типах рефакторингу
- Ознайомитеся з ознаками «поганого» коду
- Наочно побачите, чим «гарний» код відрізняється від «поганого»
- Дізнаєтесь, як рефакторити «поганий» код під час livecoding-сесії
-
04 заняття9/1/2025 19:00
Антипатерни
- Дізнаєтеся, що таке антипатерни
- Навчитесь уникати або виправляти антипатерни
- Зрозумієте, що таке надмірне та недостатнє проєктування
- Опануєте «критичне» та «конструктивне» бачення структурування коду
-
05 заняття9/3/2025 19:00
Категорії та класифікації патернів
- Навчитеся класифікувати патерни
- Ознайомитеся з GRASP- та GoF-патернами
- Розглянете способи реалізації патернів
-
06 заняття9/8/2025 19:00
Q&A з лектором
- Розглянете основні помилки з домашніх завдань
- Матимете чіткіше оверв’ю пройденого матеріалу
- Отримаєте відповіді на незрозумілі запитання
-
07 заняття9/10/2025 19:00
Породжувальні патерни. Part № 1
- Дізнаєтесь, які завдання розв’язують породжувальні патерни
- Навчитеся створювати об’єкти за допомогою породжувальних патернів: Factory Method, Abstract Factory, Builder, Prototype
-
08 заняття9/15/2025 19:00
Породжувальні патерни. Part № 2
- Ознайомитеся з патерном Singleton та прикладами його реалізації
- Навчитесь уникати його недоліків та застосовувати альтернативні техніки
- Попрацюєте з іншими корисними породжувальними патернами
-
09 заняття9/17/2025 19:00
Q&A з лектором
- Розглянете основні помилки з домашніх завдань
- Матимете чіткіше оверв’ю пройденого матеріалу
- Отримаєте відповіді на незрозумілі запитання
-
10 заняття9/22/2025 19:00
Структурні патерни. Part № 1
- Дізнаєтесь, які завдання розв’язують структурні патерни
- Зрозумієте відмінність між композицією та успадкуванням та як обрати механізм взаємодії об’єктів
- Розберете структурні патерни: Adapter, Proxy, Composite, Facade
- Навчитеся застосовувати ці патерни на практиці
-
11 заняття9/24/2025 19:00
Структурні патерни. Part № 2
- Розберете патерни Decorator та Flyweight та дізнаєтесь, які проблеми вони розв’язують
- Застосуєте Decorator для логування та обробки помилок
- Задієте Flyweight для оптимального використовування об’єктів, залежних від контенту
-
12 заняття9/29/2025 19:00
Структурні патерни. Part № 3
- Розглянете патерн Bridge та впораєтеся з його використанням
- Застосуєте Opaque pointer (Pimpl) для приховування деталей імплементації
- Зрозумієте концепцію функціональної композиції та побудови Pipeline
-
13 заняття10/1/2025 19:00
Q&A з лектором
- Розглянете основні помилки з домашніх завдань
- Матимете чіткіше оверв’ю пройденого матеріалу
- Отримаєте відповіді на незрозумілі запитання
-
14 заняття10/6/2025 19:00
Патерни поведінки. Part № 1
- Дізнаєтесь, які завдання розв’язують патерни поведінки
- Зрозумієте концепцію First-class function
- Розглянете патерни: Command, Scheduled task, Null object, Mock object
- Навчитесь застосовувати ці патерни на практиці
-
15 заняття10/8/2025 19:00
Патерни поведінки. Part № 2
- Розглянете патерни: State, Memento, Mediator, Observer, Chain of Responsibility, Template Method, Strategy, Interpreter та побачите їх застосування на практиці
- Використаєте патерн State для реалізації програми як кінцевого автомата, інкапсуляції поточного стану та передбачуваних змін стану програми
- Опануєте патерн Memento для реалізації автозбереження
- Застосуєте патерн Observer для синхронізації/узгодження поведінки різних частин програми
-
16 заняття10/13/2025 19:00
Патерни поведінки. Part № 3
- Дізнаєтесь, які бувають ітератори та як вони реалізовані
- Зрозумієте подвійну диспетчеризацію та патерн Visitor
- Навчитеся застосовувати Visitor в різних практичних завданнях
- Побачите зв’язки між патернами та складете повну картину їхньої взаємодії
-
17 заняття10/15/2025 19:00
Q&A з лектором
- Розглянете основні помилки з домашніх завдань
- Матимете чіткіше оверв’ю пройденого матеріалу
- Отримаєте відповіді на незрозумілі запитання
-
18 заняття10/20/2025 19:00
Patterns of Enterprise Application. Part № 1
- Дізнаєтесь, як розвивалися принципи проєктування та розв’язання проблем масштабування
- Розберетеся в завданнях, що стоять перед сучасними програмними системами
-
19 заняття10/22/2025 19:00
Patterns of Enterprise Application. Part № 2
- Розберетеся в ORM-патернах
- Попрактикуєте найкращі патерни паралелізму
-
20 заняття10/27/2025 19:00
Підсумки та roadmap із розвитку кар’єри
- Отримаєте рекомендації від лектора щодо подальшого кар’єрного розвитку
- Дізнаєтесь, які найпопулярніші запитання ставлять на співбесідах в IT-компаніях
-
21 заняття11/3/2025 19:00
Презентація курсового проєкту
- Презентуєте курсовий проєкт лектору та колегам
реєстрація
Реєструйтеся на курс, щоб опанувати понад 30 патернів проєктування та спростити процес розробки.