Тёмный

Шаблон проектирования ► [ Прототип, клон (prototype, clone) ] ► Урок №14 

Dmitry Afanasyev
Подписаться 26 тыс.
Просмотров 7 тыс.
50% 1

Прототип (он же клон, prototype, clone) порождающий шаблон проектирования цель которого не создавать объект через конструктор, а клонировать от уже созданного.
#шаблоны_проектирования #prototype #прототип
В видео рассмотрим не только сам шаблон проектирования, но 1) варианты использования 2) подводные камни с которыми можно столкнуться.
Определение паттерна из вики:
Задаёт виды создаваемых объектов с помощью экземпляра-прототипа и создаёт новые объекты путём копирования этого прототипа. Он позволяет уйти от реализации и позволяет следовать принципу «программирование через интерфейсы». В качестве возвращающего типа указывается интерфейс/абстрактный класс на вершине иерархии, а классы-наследники могут подставить туда наследника, реализующего этот тип.
Проще говоря, это паттерн создания объекта через клонирование другого объекта вместо создания через конструктор.
*
★ Автор: Дмитрий Афанасьев.
★ Канал: clck.ru/JVYct
*
► Выразить благодарность, поддержать донатом развитие канала.
www.donationalerts.ru/r/dmitr...
*
► Еще интересные курсы:
★ Видеокурс по Laravel: clck.ru/JVYa2
★ Видеокурс по Git: clck.ru/JVYYm
★ Объяснение SOLID: clck.ru/JVYXq
★ Шаблоны проектирования: clck.ru/JVYX7
★★★ Все курсы → clck.ru/JVYVd

Опубликовано:

 

29 дек 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 21   
@Carrion-Crow
@Carrion-Crow 4 года назад
Действительно поражает что звучит всё просто а на практике реально много проблем может быть, о которых и не подумаешь сразу
@dmitryocheretko703
@dmitryocheretko703 4 года назад
Как всегда отлично
@bobpps
@bobpps 4 года назад
Большое спасибо! С Наступающим 2020!
@DmitryAfanasyev
@DmitryAfanasyev 4 года назад
Спасибо! И тебя с наступающим!
@Fenrir-Wolf
@Fenrir-Wolf 4 года назад
Благодарю за урок, с наступающим новым годом!!!
@user-og7zm8dk8n
@user-og7zm8dk8n 4 года назад
Юю
@mirlaniusUMK
@mirlaniusUMK Год назад
Самый мудренный способ, избегания абстракции для отдельной настройки объектов. Но за урок огромное спасибо!
@user-wy4sr3hr3x
@user-wy4sr3hr3x 4 года назад
Дмитрий, спасибо за уроки. Ждём новые видео по курсу laravel, а то новый год прошёл, а от Вас не слуху, не духу)
@DmitryAfanasyev
@DmitryAfanasyev 4 года назад
Уже скоро)))
@user-gm9dp6rs1x
@user-gm9dp6rs1x 4 года назад
С новым годом и рождеством!)
@proyavin
@proyavin 4 года назад
От сердца отлегло когда увидел урок! Большое спасибо, все как всегда круто и понятно, пожалуйста не останавливайтесь и ждем еще! Лайк не глядя
@alexanderk4481
@alexanderk4481 Год назад
Спасибо )
@user-ly5np1cz6j
@user-ly5np1cz6j 3 года назад
Зачет
@romanbush5164
@romanbush5164 Год назад
Короче что ленивая загрузка, что прототип, это оптимизация. Кеширование уже созданного объекта, на генерацию которого тратится прелично времени, и он не изменяется. P. S. Можно написать метод который поменяет некоторые параметры в новом объекте(клоне) в угоду бизнес логики .
@draackul
@draackul 3 года назад
О. Пример википедии - это пример из книги по oop php. Забавно
@123vdxf123
@123vdxf123 4 года назад
Как с вами связаться в ВК? Не принимаете заявку просто)
@DmitryAfanasyev
@DmitryAfanasyev 4 года назад
Как имя?
@eaglesm1993
@eaglesm1993 4 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-1FjsqhH6dXU.html Минутка юмора, ссылка совсем не тему, просто наткнулся на видео, и вспомнил про тебя)) В рекомендациях вылезло наверное потому что я на тебя подписан xD хотя и музычка заводная)
@vitall789
@vitall789 3 года назад
Надеюсь пример никого не вдохновит сохранять заказы в Объектах.
@DmitryAfanasyev
@DmitryAfanasyev 3 года назад
На самом деле есть такая практика - сохранять в БД сериализованные объекты.
Далее
Фабричный метод
15:48
Просмотров 59 тыс.
Чего ожидать от HTTP/3 + Go
51:07
Просмотров 3,1 тыс.
Шаблоны Java. Мост (Bridge)
21:07
Просмотров 19 тыс.