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