Паттерны проектирования

Уроки с примерами кода; тему можно сразу закрепить вопросами в тренажёре.

Материалы открываются после регистрации на Free.

Уроки по модулям

  1. Что такое паттерны и когда они вредят

    2 урока

    Паттерн проектирования — это не код для копирования, а имя и проверенное решение для повторяющейся задачи проектирования. Модуль вводит понятие паттерна, делит каталог на три категории по назначению (порождающие, структурные, поведенческие) и сразу ставит границу: паттерны служат поддерживаемости, а применённые без задачи дают переусложнение.

    1. Что такое паттерн проектирования
    2. Переусложнение и антипаттерны
  2. Порождающие паттерны

    3 урока

    Порождающие паттерны отвечают за то, как создаются объекты: они отделяют код, которому нужен объект, от кода, который решает, какой именно объект создать и как. Модуль разбирает фабрики (вынос создания за интерфейс), строитель (пошаговая сборка сложного объекта) и одиночку (единственный экземпляр) — с его компромиссами и причиной, по которой его часто заменяют DI.

    1. Фабричный метод и абстрактная фабрика
    2. Строитель (Builder)
    3. Одиночка (Singleton)
  3. Структурные паттерны

    4 урока

    Структурные паттерны отвечают за то, как объекты и классы соединяются в более крупные структуры, оставаясь гибкими. Модуль разбирает адаптер (совместить несовместимые интерфейсы), декоратор (добавить поведение, оборачивая объект), фасад (простой вход в сложную подсистему) и заместитель (контролировать доступ к объекту) — и показывает, как у близких по форме паттернов разное намерение.

    1. Адаптер (Adapter)
    2. Декоратор (Decorator)
    3. Фасад (Facade)
    4. Заместитель (Proxy)
  4. Поведенческие паттерны

    6 уроков

    Поведенческие паттерны отвечают за то, как объекты взаимодействуют и распределяют между собой обязанности. Модуль разбирает самые востребованные: стратегию (взаимозаменяемые алгоритмы), наблюдатель (оповещение подписчиков), команду (запрос как объект), шаблонный метод (скелет алгоритма), цепочку обязанностей (конвейер обработчиков) и состояние (поведение по состоянию).

    1. Стратегия (Strategy)
    2. Наблюдатель (Observer)
    3. Команда (Command)
    4. Шаблонный метод (Template Method)
    5. Цепочка обязанностей (Chain of Responsibility)
    6. Состояние (State)

О курсе

Классические паттерны проектирования как общий язык для повторяющихся задач: что такое паттерн и когда он вреден, порождающие паттерны (создание объектов), структурные (композиция объектов) и поведенческие (взаимодействие объектов). Каждый паттерн разбирается как решение конкретной проблемы и как компромисс с ценой — а не приём, который надо применять везде. Примеры на C#; сами паттерны языко-нейтральны и опираются на принципы ООП и SOLID.

Дальше по теме

Пройдите курс и проверьте темы вслух