На этом курсе начинают с основ - рассматривают объектно-ориентированное программирование и UML-диаграммы. Слушатели узнают, что такое паттерны, как они появились и зачем нужны. Сразу переходят к принципам Grasp - это фундаментальные правила, которые помогают создавать понятный код. Здесь разбирают Information Expert, Creator, Controller и другие принципы, формирующие прочную основу для дальнейшего обучения.
Далее курс охватывает паттерны создания из каталога GoF. Рассматривают Abstract Factory, Builder, Factory Method и другие способы создания объектов. Каждый паттерн объясняют на конкретных примерах - как и когда его применять. Это помогает избежать проблем с инициализацией сложных объектов и делает код более гибким.
Третий блок посвящен структурным паттернам. Они помогают организовать связи между объектами. Здесь изучают Adapter, Bridge, Composite и другие подходы к построению структуры программы. Эти паттерны показывают, как сделать систему модульной и легкой для расширения.
Самый большой раздел курса - поведенческие паттерны. Они отвечают за коммуникацию между объектами. Рассматривают Chain of Responsibility, Observer, Strategy и еще восемь различных подходов. Каждый паттерн объясняют через реальные задачи, которые он решает. Это помогает понять, как организовать взаимодействие между компонентами системы.
В конце курса затрагивают тему рефакторинга и антипаттернов. Показывают, как улучшать уже написанный код и избегать распространенных ошибок. Этот блок помогает закрепить полученные знания и учит распознавать плохие решения в коде.