G
enby!

1. Паттерн проектирования "Стратегия" | OOD 2025

Первая лекция курса «Объектно-ориентированное проектирование» (Object-Oriented Design, OOD) показывает, как уйти от хрупкого наследования к композиции через паттерн «Стратегия». На примере «утиного симулятора» разбираем выделение изменяемого поведения (полёт/кряканье), динамическую замену стратегий, связь с SOLID (OCP/DIP), а также практические нюансы C++: const-контракт, CQS, риски mutable. Покажем функциональную версию стратегии (лямбды/std::function), обсудим compile-time политики (policy-based design, аллокаторы/PMR) и кейс «редактор слайдов» с переносом состояния в стратегии. Практические задания и примеры кода доступны на моем гитхабе: https://github.com/alexey-malov/ood
Чтобы оставаться на связи в условиях блокировки Youtube в России подписывайтесь на мой Telegram-канал https://t.me/vivid_coding
Тайм-коды 0:00 О чем курс "Объектно-ориентированное проектирование" 5:14 Наследование и связанные с ними проблемы 12:57 Заменяем наследование композицией 24:40 Описание паттерна "Стратегия" 29:23 Стратегия в функциональном стиле 32:44 Архитектурные вопросы, связанные с паттерном 48:18 Разбор реальных кейсов применения паттерна 58:11 Подводим итоги 1:01:20 Ответы на вопросы студентов В заставке использована композиция "Папа может в Си" музыкального коллектива "Научно-технический рэп" (https://vk.com/nii_rap)
Исходный код шейдера из финальной заставки: https://www.shadertoy.com/view/Mcjfzc

Смотрите также