Чистый код
и паттерны проектирования
Вячеслав Щупак
Software Developer в Sportradar

8 недель
16 онлайн-занятий[по понедельникам и четвергам]
Комплексный курс о том, как рефакторить код, ускорять и упрощать процесс разработки. Чтобы больше никогда не копипастить чужой «костыль» со Stack Overflow, а самостоятельно писать чистый рабочий код, применяя паттерны проектирования.
*курс преподается на украинском языке
(Java / JavaScript)
чтобы избавиться от «костылей» в коде, без проблем добавлять новые фичи в продукт и рефакторить существующие проекты с помощью применения паттернов.
(Java / JavaScript)
чтобы научиться рефакторить код, ориентироваться в библиотеках и фреймворках, декомпозировать большие системы, повысить уровень квалификации и получить новую работу.
чтобы не просто выучить названия паттернов, а научиться применять их на практике и решать с их помощью сложные системные задачи; чтобы пройти собеседование и получить работу в IT-компании.

Правильный выбор паттерна позволяет разработчику оптимизировать существующую систему, писать функциональные приложения с нуля, внедрять новые фичи и при этом не ломать код. Навык работы с паттернами ― это база, без которой сложно развиваться в программировании. И это то, что обязательно спросят на собеседовании.
Наш курс покроет все пробелы в знаниях и научит применять шаблоны проектирования на практике. Вы рассмотрите самые популярные паттерны, разберете и изучите каждую деталь во время livecoding-сессий. Научитесь подбирать паттерны под задачи и адаптировать их под специфику проекта. В результате ― будете писать чистый код даже с закрытыми глазами и разработаете приложение по работе с базой данных с помощью паттернов.
Вы детально изучите 20+ паттернов, которые наиболее часто встречаются при проектировании систем. Научитесь выбирать паттерн исходя из задачи, применять и адаптировать его к своему проекту.
Лектор в режиме онлайн покажет, как применять каждый шаблон, рефакторить код, улучшать архитектуру и убирать «костыли». Примеры будут разбираться на Java и JavaScript.
На 12 занятии вы получите задание для финального проекта и в результате разработаете приложение по работе с базой данных, применяя паттерны проектирования. И положите этот кейс в свое портфолио.
Вы научитесь применять паттерны, сможете ускорять и упрощать процесс разработки, что поможет пройти техническое интервью и устроиться на работу в крупную IT-компанию.

- Узнаете, что такое паттерны и для чего разработчику нужно в них разбираться
- Разберетесь в понятиях «чистый код», «рефакторинг», test driven development
- Во время LiveCoding-сессии рефакторим «плохой» код
- Узнаете, чем «хороший» код отличается от «плохого»
- Ознакомитесь с признаками «плохого» кода
- Поймете, зачем соблюдать чистоту кода
- Разберетесь в типах рефакторинга
- Узнаете, что такое антипаттерны
- Узнаете, что такое избыточное и недостаточное проектирование
- Научитесь создавать компилируемый и выполняемый код
- Ознакомитесь со способами реализации паттернов
- Изучите GRASP-паттерны и GoF-паттерны
- Научитесь классифицировать паттерны
- Узнаете, какие задачи решают порождающие паттерны
- Научитесь создавать объекты с помощью порождающих шаблонов: Abstract Factory, Builder, Factory Method, Prototype
- Изучите принципы SOLID
- Изучите DI-фреймворки
- Ознакомитесь с паттерном Singleton и примерами его реализации на разных языках с помощью разных DI-фреймворков
- Узнаете, какие задачи решают структурные паттерны
- Изучите структурные шаблоны: Adapter, Bridge, Facade, Flyweight, Proxy
- Научитесь применять эти паттерны в коде
- Примените Flyweight к проекту, чтобы уменьшить потребление памяти и нагрузку на сборщик мусора
- Узнаете, чем наследование отличается от композиции
- Изучите шаблон Facade
- Научитесь применять композицию на практике
- Изучите шаблон Decorator и узнаете, какие задачи он решает
- Примените Decorator для логирования и обработки ошибок
- Узнаете, какие задачи решают паттерны поведения
- Изучите шаблоны Command и CQRS
- Ознакомитесь с ORM-шаблонами
- Научитесь применять эти шаблоны на практике
- Изучите шаблоны: State, Strategy, Template Method, Memento, Mediator
- Научитесь применять и адаптировать эти шаблоны
- Изучите шаблоны Observer и Visitor
- Ознакомитесь с задачами, которые решают паттерны GoF
- Научитесь выбирать шаблон исходя из задачи
- Узнаете, как развивались принципы проектирования и решения общих проблем
- Разберетесь в задачах, которые стоят перед современными программными системами
Изучите шаблоны Enterprise:
- кеширование: Cache Dependency и Page Cache
- управление исключениями: Exception Shielding
- взаимодействие с пользователем: Asynchronous Callback и Chain of Responsibility
- Actor Model pattern
- Event Sourcing pattern
- Получите рекомендации от лектора по дальнейшему карьерному развитию
- Узнаете, какие самые популярные вопросы задают на собеседованиях в IT-компаниях