Шаблоны Java. FactoryMethod (Фабричный метод)

preview_player
Показать описание

Шаблон: Фабрика (Factory Method)
=======================================================================================================
Цель:

Создание интерфейса, который создаёт объект. При этом, выбор того, экземпляр какого класса создавать
остаётся за классами, которые имплементируют данный интерфейс.
=======================================================================================================

Для чего используется:

Для делигирования создания экземпляров, другому классу.

=======================================================================================================
Пример использования:

- заранее неизвестно, экземпляры, какого класса нужно будет создавать;
- класс спроектирован таким образом, что создаваемые им объекты имеют свойства определённого класса.

=======================================================================================================
Рекомендации по теме
Комментарии
Автор

Не было пояснено, зачем вводить лишний уровень абстракции в виде фабрики. В рамках данного конкретного рассмотренного примера в клиентском коде вполне можно было в switch/case создавать конечные сущности в виде Developer минуя создание фабрики.

ttampuom
Автор

Теперь при добавлении нового наследника Developer, программисту придётся изменять не один, а целых два зеркальных класса, и один статичный метод с вермишелью из if else. Просто потрясающий шаблон! Советую ещё через методов 5 с разными спецификациями это всё прогнать, чтобы изменять ещё их, если кому мало

feewre
Автор

Спасибо, всё понятно. Когда идёт последовательное усовершенствование кода с нуля до заданного шаблона, то всё идеально воспринимается (чем сразу написать правильный, но сложный код) :)

Tiertey
Автор

Долго не мог понять, что за фабричный метод и зачем он нужен. На данном примере можно понять, что фабричный метод штука очень не сложная но в то же время полезная.
Спасибо Евгений.

glevan
Автор

Спасибо за труд. Самые понятные примеры.

sergiytychkin
Автор

Спасибо за урок. Неделю учу этот паттер на англ и на русском, не понимала пока ваше видео не посмотрела!!!

ovusa
Автор

спасибо тебе добрый человек ! и английский у тебя тоже хороший. А то других слушаешь, уши заворачиваются в трубочку

dimitrishat
Автор

Самый понятный стиль объяснения. Вначале вступление, затем демонстрация сути решаемой паттерном проблемы, а затем её решение. Чётко, быстро и по делу. Спасибо!

armorunit
Автор

Спасибо большое за объяснение. Без практики довольно тяжело запоминать паттерны. Но Ваше объяснение даёт базовые понимания этого паттерна!

JGolt
Автор

Спасибо огромное за видео! Очень доходчиво объясняете, удивлена, что на Вашем канале мало подписчиков.

niener
Автор

Превосходное объяснение фабричного метода. Просто лучшее из всех.

БулатАшимов-ис
Автор

Ты красавчик. Здоровья тебе и твоим близким!

КириллБалашов-пс
Автор

Хорошо, что есть комменты, а то из видео вообще не понятно, что даёт данный паттерн и зачем он существует. А вот почитаешь комменты - станет понятно, что просто пример в видео не просто урезанный, а кастрированный, не отображающий сути паттерна.

frosty
Автор

Ваще круть!
Очень полезно было, как на пальцах)
Если бы мог поставил 100 "пальцев вверх"

off
Автор

О, наконец-то разобрался с этим паттерном. Оказалось все легко) спасибо!

ParfenovKirill
Автор

Прежде всего спасибо за ролик, суть кажется я уловил - вместо создания трёх классов с полезным кодом, мы городим ещё столько же классов прослоек и прослойки между прослойками - интерфейсы. И все это для того чтобы ленивые программисты излишне не утруждали себя если необходимо внести какие то изменения в основную логику работы программы.

Kadabra
Автор

не createDeveloperBySpeciality, а
зачем нам создавать много фабрик, если можно создать одну с параметрами?

dmitrytarashkevich
Автор

Спасибо автору за видео. Все такие умные в комментах, а вот видео дельного совершенного никто не записал, а жаль. Можно было бы столько вариантов посмотреть и оценить по достоинству данный шаблон

jacobmmm
Автор

Женя, огромный тебе тебе респект. Ты оказывается еще владеешь С++?! Это вызывает большой уважение. Этот язык сложнее Java. После того как я освою Java, я очень хочу освоить С++. Мне кажется очень круто то, что этот язык может управлять железом. Все топовые игры пишутся на С++

LAZIO
Автор

Вроде как все понятно и просто, но осознать полезность этого подхода не получается. Было бы не плохо если бы кто-то объяснил именно этот момент

drankenwizard
join shbcf.ru