Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

2. Паттерн проектирования "Прототип" | ООП 2025

Автор: Aleksey Malov

Загружено: 2025-09-19

Просмотров: 397

Описание:

В этой лекции разбираем паттерн «Прототип» — зачем он нужен, почему «ручное» копирование полей ломается, и как правильно клонировать полиморфные объекты. Покажем базовую реализацию, обобщённый CRTP-миксин PrototypeImpl, и почему наследование от конкретных классов — красный флаг. Усилим контракты концептами C++20.

Во второй части — альтернативный путь через стирание типов с помощью std::any. Сравним скорость работы наивного и оптимизированного вариантов.

Практические задания и примеры кода доступны на моем гитхабе: https://github.com/alexey-malov/ood

Чтобы оставаться на связи в условиях блокировки Youtube в России подписывайтесь на мой Telegram-канал https://t.me/vivid_coding

Тайм-коды:
0:00 Структура паттерна прототип
4:12 Применение паттерна для клонирования фигур
6:26 Обобщенный mixin PrototypeImpl для устранения дублирования кода
17:26 Когда клонирование может быть эффективнее создания эффекта с нуля
19:15 Дорабатываем PrototypeImpl
22:57 Почему наследование от конкретного класса говорит о плохой архитектуре
27:22 Устраняем дублирование кода при помощи миксина PersonImpl
30:57 Добавляем немного шаблонной магии и концептов для усиления миксинов
38:54 Альтернативная реализация через стирание типов
47:43 Анализ производительности наивного решения
51:55 Оптимизируем доступ к std::any за счёт кеширования
55:41 Бенчмаркинг оптимизированной верси и

В заставке использована композиция "Папа может в Си" музыкального коллектива "Научно-технический рэп" (https://vk.com/nii_rap)

2. Паттерн проектирования "Прототип" | ООП 2025

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

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

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

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

3. Паттерн проектирования "Наблюдатель" | ООП 2025

ООП 2025

ООП 2025

Компьютерная графика 2025

Компьютерная графика 2025

1. Введение в Операционные системы и сети | Операционные системы и сети 2025

1. Введение в Операционные системы и сети | Операционные системы и сети 2025

5. Паттерн шаблонный метод | ООП 2025

5. Паттерн шаблонный метод | ООП 2025

3. Процессы, службы, демоны и зомби | Операционные системы и сети 2025

3. Процессы, службы, демоны и зомби | Операционные системы и сети 2025

6. Паттерны

6. Паттерны "Абстрактная фабрика" и "Фабричный метод" | ООП 2025

7. Паттерны

7. Паттерны "Команда" и "Хранитель" | ООП 2025

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

4. Паттерн проектирования "Декоратор" | ООП 2025

1. Синтаксис C++. Работа с числами, объявление переменных | ООП 2025

1. Синтаксис C++. Работа с числами, объявление переменных | ООП 2025

4. Многопоточность | Операционные системы и сети 2025

4. Многопоточность | Операционные системы и сети 2025

7. Синхронизация и межпроцессное взаимодействие - 3 | Операционные системы и сети 2025

7. Синхронизация и межпроцессное взаимодействие - 3 | Операционные системы и сети 2025

8. Паттерны

8. Паттерны "Посетитель" и "Фасад" | ООП 2025

5. Синхронизация и межпроцессное взаимодействие - 1 | Операционные системы и сети 2025

5. Синхронизация и межпроцессное взаимодействие - 1 | Операционные системы и сети 2025

8. Планирование задач | Операционные системы и сети 2025

8. Планирование задач | Операционные системы и сети 2025

6. Синхронизация и межпроцессное взаимодействие -  2 | Операционные системы и сети 2025

6. Синхронизация и межпроцессное взаимодействие - 2 | Операционные системы и сети 2025

17. Цифровая обработка изображений |  Компьютерная графика 2025

17. Цифровая обработка изображений | Компьютерная графика 2025

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]