Паттерны проектирования: объяснение и реализация паттерна «Команда» (Command) на C++
Mike Shah
0:00 / 0:00
Паттерны проектирования: объяснение и реализация паттерна «Команда» (Command) на C++
49 168 просмотров · 4 года назад
Mike Shah
41,4 тыс. подписчиков
49 168 просмотров · 4 года назад
►Плейлист по проектированию программного обеспечения и шаблонам проектирования: • C++ Software Design and Design Patterns
►Полные курсы доступны по ссылке: https://courses.mshah.io/
►Поддержите канал, став участником: / @mikeshah
►Описание урока: В этом уроке я расскажу вам об одном из самых мощных шаблонов проектирования поведения — шаблоне команд. Этот шаблон моделирует объекты, которые действуют как команды, и это один из самых удобных способов хранения последовательности «команд» или действий, происходящих в вашей программе. Я покажу вам пример использования шаблона для хранения команд в виде очереди, и этот шаблон можно использовать для элегантной реализации системы отмены/повтора действий.
Бесплатный ресурс: https://gameprogrammingpatterns.com/c...
00:00 Что такое шаблоны проектирования
00:30 Поведенческие шаблоны проектирования
1:00 Шаблон команды
1:30 Применение шаблона команды
1:59 Ресурсы по шаблонам проектирования
2:50 Концептуальное понимание шаблона команды
4:00 Пример игрового контроллера
4:40 Использование наследования для отношения «является»
5:20 Ключевая идея того, что делает команда
5:50 Объяснение виртуального в C++
6:30 Добавление команд в очередь в некоторой структуре данных
7:40 Отмена команд в нашей истории
9:10 Начало работы с шаблоном команды на C++
10:15 Создание класса команды
10:45 Создание функций-членов интерфейса
11:25 Простой пример использования шаблона команды
12:40 Создание Move, который является типом команды
13:50 Демонстрация того, как должны быть реализованы чистые виртуальные функции
15:00 Создание персонажа
15:45 Передача наш персонаж как аргумент
17:02 Подготовка нашего персонажа к движению
18:25 Добавление вывода для просмотра происходящего
20:00 Первая команда нашего персонажа
20:40 Хранение нескольких команд в очереди
23:00 Управление временем жизни наших команд с помощью указателей
24:40 Отмена наших команд
25:30 Как мы узнаем, что это работает?
26:00 Хранение данных о позиции нашего персонажа во время движения
29:35 Проверка работы функций выполнения и отмены
31:30 Использование другой структуры данных для выполнения отмены
32:12 Заключительный разбор кода
34:10 Заключение
►Канал YouTube: / mikeshah
►Пожалуйста, поставьте лайк и подпишитесь, чтобы помочь каналу!
►Присоединяйтесь к нашему бесплатному сообществу: https://courses.mshah.io/communities/...