No video

Фабричный метод

  Рет қаралды 59,807

Volodya Mozhenkov

Volodya Mozhenkov

9 жыл бұрын

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

Пікірлер: 153
@user-sm4el8xh8g
@user-sm4el8xh8g 6 жыл бұрын
Сам Иисус учит нас паттернам :D
@loam
@loam 5 жыл бұрын
а после идет гулять по воде
@pymentor.
@pymentor. 4 жыл бұрын
Аминь
@__alexfox__
@__alexfox__ 4 жыл бұрын
=)))) Я первым делом так и подумал, Иисус тоже кодит!
@MrAbad202
@MrAbad202 3 жыл бұрын
@@__alexfox__, а утконос -- это баг?
@__alexfox__
@__alexfox__ 3 жыл бұрын
@@MrAbad202 да не, это просто нужно было что-то по быстрому для замыкания пищевых цепочек замутить, взяли часть со старого проекта, а потом забыли и в прод залили... Вроде работает, не стали трогать.
@youxxxgun9001
@youxxxgun9001 5 жыл бұрын
Благодарю тебя, Отец Володимир)
@BagratS
@BagratS 7 жыл бұрын
Я люблю этого парня. Просто шикарное объяснение. Спасибо большое.
@user-ow6dr9ok6c
@user-ow6dr9ok6c Жыл бұрын
Да, _Уровень "красный"!
@Nikita04111991
@Nikita04111991 9 жыл бұрын
Наконец то я нашел видеоуроки в которых объясняют паттерны понятным человеческим языком. Одного просмотра хватило чтобы всё стало ясно
@user-mf7dj6yw7q
@user-mf7dj6yw7q 2 жыл бұрын
А мне нет :с
@GlassedUA
@GlassedUA 8 жыл бұрын
Батюшка преподает дизайн паттерны ? Хмм это же офигенно!
@nikolaiii3
@nikolaiii3 7 жыл бұрын
Это не батюшка, это Шан-Тсунг. Глаза видел?
@user-lv9uz2hk2u
@user-lv9uz2hk2u 6 жыл бұрын
Не знаю почему, но я смеялся пол часа с этого комментария )))))))))))
@sergey-shalaev
@sergey-shalaev 5 жыл бұрын
Батюшка не батюшка, а разложил по полочкам всё как боженька
@loam
@loam 5 жыл бұрын
@@sergey-shalaev Ага, кашерно прям.
@hmixa
@hmixa 5 жыл бұрын
@@sergey-shalaev Бредово разложил если честно, почитайте мой комент.
@andyanderson222
@andyanderson222 2 жыл бұрын
"Раз уж это русский язык, назову переменную Ж" - это было ОООЧЕНЬ многозначительно. В оценке ситуации с Вами полностью согласен)
@Ruslan_Ishmuratov
@Ruslan_Ishmuratov 2 жыл бұрын
🤣🤣🤣🤣👍
@user-ow6dr9ok6c
@user-ow6dr9ok6c Жыл бұрын
😁, тонко
@user-mh1mi4xv1h
@user-mh1mi4xv1h 3 жыл бұрын
Потрясающе, почему не нахожу такого толкового объяснения нигде?! Большое спасибо
@user-xd6mk4fp2l
@user-xd6mk4fp2l 6 жыл бұрын
Самый лучший преподаватель, каких только уроков я не смотрел, всегда самые понятные и доходчивые у Volodya Mozhenkov
@user-ow6dr9ok6c
@user-ow6dr9ok6c Жыл бұрын
+
@brunkovsky
@brunkovsky 9 жыл бұрын
Приятно слушать. Заметил, что Владимир не не делает разницы и не отдает предпочтение какому-либо языку программирования или операционной системе. По-моему, это признак мудрого человека.
@VladimirMozhenkov
@VladimirMozhenkov 9 жыл бұрын
+Stas Brunkovsky О, поверьте, у меня есть предпочтение и языка и операционной системе. Просто здесь я объясняю вещи, связанные с программировании вцелом.
@brunkovsky
@brunkovsky 9 жыл бұрын
+Vladimir Mozhenkov Ну да, как и у всех нас. Но не ставите на этом акцент. И, как мне показалось, уважительно относитесь к пользователям всех операционных систем и языков программирования. Благодаря тому, что рассказываете про общее, а не частное.
@any3develop282
@any3develop282 6 жыл бұрын
Объяснил понятно . Главное придумать куда это прикрутить. Я понял что это нужно для будущего , чтобы можно было внести изменения и не затронуть работу программы.
@learnz1373
@learnz1373 4 жыл бұрын
Полнедели понять не мог практическое применение. Спасибо. Огромное спасибо
@babai5655
@babai5655 2 жыл бұрын
Фабрика - это класс в котором задается фабричный метод создания продукта, который определяет стандартный вариант поведения. Затем он делегирует подробности создания подклассам. В принципе клиент не обязательно должен вызывать непосредственно метод "СоздатьМебель" Клиент может вызвать метод фабрики, фабрика выполнит стандартные действия - например, создаст накладные. А потом уже сама вызовет"СоздатьМебель" чтобы получить стол или стул.
@user-cw4sc2le1q
@user-cw4sc2le1q 5 жыл бұрын
Привет из 2019го, огромное спасибо за разьяснение, в нашей студенчиской методичке все слишком заумно описано, а ваше видео сделано гараздо более доступно для понимания.
@infinityen7659
@infinityen7659 3 жыл бұрын
какой курс ?
@user-dn7nu6zq3n
@user-dn7nu6zq3n 8 жыл бұрын
не совсем понял, с таким же успехом в такой матод может передаваться не фабрика и не стул или стол , но Мебель. Тогда мы сможем вызвать метод someMethod(мебель) с аргументами someMethod(стул) или someMethod(стол) и цель будет достигнута. Так же мебель может запросто быть интерфейсом, что еще более упростит работу, а стало быть пример не до конца объясняет, зачем нужна именно фабрика.
@yalauitarik
@yalauitarik 4 жыл бұрын
Плюс ко всему сказано, что класс МебФаб абстрактный и не может иметь свой объект, тогда как мы засовываем его в качестве аргумента в функцию foo(МебФаб МФ)
@igorbaglaev2496
@igorbaglaev2496 4 жыл бұрын
@@yalauitarik поскольку СтулФаб и СтолФаб наследники МебФаб, то в foo(МебФаб мф) ты можешь подставлять СтулФаб и СтолФаб
@HerrHoldem
@HerrHoldem 4 жыл бұрын
И как это должно выглядеть на практике? Хотите в Мебель засунуть реализацию создания другой мебели? Это не самое лучшее решение.
@xfg9183
@xfg9183 4 жыл бұрын
Потому что этот шаблон все интерпретируют как угодно, но только не так как это задумывалось в GoF. Метод создМебель должен вызываться внутри МебФаб. То есть в МебФаб описывается некий алгоритм и внутри него вызывается метод создМебель. Кароче то что он пишет в функции foo, должно быть в МебФаб. Тогда всё очевидно. Это родственный шаблон к template method. В английской вики есть прекрасный пример реализации MazeGame где показывается верная интерпретация этого шаблона, но к сожалению там же полно и разных неверных вариантов не имеющих никакого отношения к GoF.
@youknowme9732
@youknowme9732 2 жыл бұрын
@@HerrHoldem Вики (рус. версия) Фабричный метод, примеры - "PHP5 современный вариант". Выполнена реализация фабричного метода в классе Animal (т.е. в Мебели). А дальше реализация без фабричного метода $class = "Lion"; (new $class)->voice(); Фабричный метод, кроме красивой записи нечего не дает.
@IIIA_KO
@IIIA_KO 2 жыл бұрын
6 лет назад вышел ролик, но полезно и сейчас
@user-im1iu5kr9s
@user-im1iu5kr9s 6 жыл бұрын
Первый раз слушала-не поняла. Потом почитала в статье про фабричный метод с примерами и второй раз просмотрев видео-все было понятно
@user-ow6dr9ok6c
@user-ow6dr9ok6c Жыл бұрын
Огромная вам благодарность, святой человек за свет..
@valshin
@valshin 9 жыл бұрын
Спасибо за отличный урок, что такое фабрика знал давно, а вот зачем она нужна не совсем понимал. Теперь все предельно ясно.
@VladimirMozhenkov
@VladimirMozhenkov 9 жыл бұрын
Валерий Шинкаренко Видео про Абстрактную Фабрику уже выложил. Сейчас через 30 минут ещё будет про Простую фабрику. Тоже посмотрите.
@VladimirMozhenkov
@VladimirMozhenkov 9 жыл бұрын
kzfaq.info/get/bejne/lZuWZd2kkp7JYGg.html
@baron2272
@baron2272 9 ай бұрын
Отлично объясняете. Расскажите об использовании фабричного метода для вывода views в MVC проектах.
@alexanderakhtyrtsev5776
@alexanderakhtyrtsev5776 4 жыл бұрын
Спасибо огромное за такое чёткое объяснение)
@USER-GU4GJJURFGJKV
@USER-GU4GJJURFGJKV 5 жыл бұрын
А я то думал, куда Паук из коррозии подался? )))
@user-mz7fg8ei7k
@user-mz7fg8ei7k 4 жыл бұрын
14:51 даа! - это интересно, даа! - это нужно! даа! - примеры на с++ :)
@Federation1323
@Federation1323 4 жыл бұрын
Меня много раз спрашивали, как меня зовут, и вот теперь я говорю во всеуслышание: меня зовут Володя! xDD Мне понравился видос!
@klev1983
@klev1983 7 жыл бұрын
Предлагаю в следующий раз создавать барную стойку и барный стул.
@athena6043
@athena6043 6 жыл бұрын
Спасибо за видео, Владимир. Надеюсь вы продолжите снимать ролики о паттернах.
@4everTHEbeatlemania
@4everTHEbeatlemania 8 жыл бұрын
Класс, всё доступно и понятно! Спасибо!
@MyFearIsMyBlue
@MyFearIsMyBlue 2 жыл бұрын
Круто. Экстравагантно, но доходчиво!
@user-sh6xn3qz1p
@user-sh6xn3qz1p Жыл бұрын
Супер!!! Спасибо!
@spyphyfarnsworth6050
@spyphyfarnsworth6050 6 жыл бұрын
Если видео смотреть без звука, можно подумать, что инженер мебельной фабрики объясняет слесарям как правильно собирать стулья и столы.
@johntrucena4947
@johntrucena4947 3 жыл бұрын
впрингципе так и есть
@user-ql8uy2oq6b
@user-ql8uy2oq6b 6 жыл бұрын
Ахреневаю каждый раз когда натыкаюсь на его видео xd
@ne4to777
@ne4to777 8 жыл бұрын
Собственно, а как потом определяется тип мебели? Неполный урок, так как не описана проблема. Она, как бы констатируется, но не обосновывается.
@user-xj1fv7lk1z
@user-xj1fv7lk1z 7 жыл бұрын
Наследование учи. Какой объект передадут , тот и выберет компилятор
@Лжеученый_Юра
@Лжеученый_Юра 5 жыл бұрын
@@user-xj1fv7lk1z Володя сказал, что классы стул и стол обычно прячут, поэтому ты не сможешь эти объекты передать. Вот это и осталось непонятным в видео.
@AlexCSharp
@AlexCSharp 5 жыл бұрын
@@Лжеученый_Юра Ты не можешь их создать НАПРЯМУЮ, это сделает за тебя фабрика. В этом и смысл.
@user-rz1bn3gl7q
@user-rz1bn3gl7q 4 жыл бұрын
@@AlexCSharp откуда фабрика узнает, что именно нужно создать?
@AlexCSharp
@AlexCSharp 4 жыл бұрын
@@user-rz1bn3gl7q От запросившего, например. От настроек фабрики. От контекста зависит. Если тебе нужно создать пайплайн данных - тебе нужно будет лишь вызвать фабрику, все остальные обходимые для пайплайна объекты она создаст сама. Фабрик много, применений много. Читай "паттерны проектирования" Банды Четырёх.
@kerrigan_katyakatya9377
@kerrigan_katyakatya9377 3 жыл бұрын
Володя спасибо!
@koroloff88
@koroloff88 7 жыл бұрын
Самое лучшее объяснение!
@Balkofag
@Balkofag 2 жыл бұрын
Спасибо за объяснение, лекция помогла
@antonbeton5738
@antonbeton5738 7 жыл бұрын
Крутое видео, крутой канал. Как будет время все пересмотрю
@zozuliar
@zozuliar 11 ай бұрын
В чем разница между Фабричным методом и Dependency Injection? При инъекции зависимостей мы тоже передаем в конструктор класса A неизвестный объект B, реализующий определённый интерфейс. А потом можно исполнять в этом первом классе A сколько угодно методов A->foo1(), A->foo2(), ..., A->fooN(). Получается. что инъекция зависимостей это более сложный вариант фабричного метода?
@hmixa
@hmixa 5 жыл бұрын
Надуманный пример, параллельное наследование вредно само по себе. Обычный статический метод возвращающий базовый класс и динамически решает instants какого типа создавать, например читая конфигурационые файлы. Ну или все-таки создать класс фабрику но не наследовать её, класс нужен просто для того если принятие решения по созданию Instants-а более сложное и не помещается в один метод. А так как товарищ предлагает это убивает всякую динамику, какую фабрику передали то и будет всегда создаваться. Смысл?
@looklikethegodfather
@looklikethegodfather 9 жыл бұрын
Хотелось бы увидеть пример на PHP
@GlebHero
@GlebHero 8 жыл бұрын
7:55 норм затролел
@bloodyink3423
@bloodyink3423 2 жыл бұрын
Спасибо Вам
@gsm7490
@gsm7490 Жыл бұрын
Моднейшие паттерны тащемта. Чад кутежа, угар!
@RTPotolo4niy
@RTPotolo4niy 6 жыл бұрын
Круто объясняешь, лайк
@user-pg8ry1tm3t
@user-pg8ry1tm3t 6 ай бұрын
шаблоны можно запрограммировать на динамическое поведение… в компайл-тайме
@user-vt9ie4wl4w
@user-vt9ie4wl4w 6 жыл бұрын
Спасибо большое!
@user-kh8zm3on2b
@user-kh8zm3on2b 4 жыл бұрын
Спасибо, круто!
@kolob204
@kolob204 3 жыл бұрын
Ох уж Этот взгляд :-) Кашпировский нервно курит в стороне.
@denislopatin3100
@denislopatin3100 8 жыл бұрын
очень хорошо. Лично мне было бы как бонус реализация на Си примеров использования излагаемых Вами паттернов. Это не потому что не понятно через диаграммы и общие обозначение, это потому что через код лучше видно их возможное применения на практике. Спасибо за урок.
@maksimvolkov8892
@maksimvolkov8892 4 жыл бұрын
Отличное видео
@KENISEG
@KENISEG 2 жыл бұрын
ээээх видосик не дожат до конца, я ждал развязки с той функцией\классом который "что бы не дублировать" вмял в себя методы фабрики. интересно было увидеть как манипулировать это функцией (аргументами?) типо foo(стулья) ? а как в коде указать что функция через фабрику должна стулья создавать?
@KENISEG
@KENISEG 2 жыл бұрын
и о почему нельзя костыль использовать, на аргумент подавать номерной int нужного типа, а в функции по кейсу указывать какого типа создать объект?)))))))))))))))))))
@SoBoL9500
@SoBoL9500 4 жыл бұрын
Очень полезный урок. Я как раз изучаю паттерны более подробно. Но я не могу найти плейлист с паттернами на Вашем канале. Можете предоставить ссылку?
@user-qe6un8mn5m
@user-qe6un8mn5m 6 жыл бұрын
Годно, абсолютно понятно
@Watamote336
@Watamote336 4 жыл бұрын
никак не пойму, про что еще в этом видео сказано помимо чисто динамического полиморфизма. Но лайкос поставил)
@user-hr7yc3qp8e
@user-hr7yc3qp8e 5 жыл бұрын
Спасибо!
@DevPlayGame
@DevPlayGame 3 жыл бұрын
Да,реализацию посмотреть было бы круто!
@kudokrasnodar
@kudokrasnodar 3 жыл бұрын
Спасибо, очень помогло
@lichlichi
@lichlichi 6 жыл бұрын
Где находится сам код результата выбора пользователем, это ведтка If'ов или что то ещё?
@alextopsite
@alextopsite 7 жыл бұрын
Хорошая тема
@user-jd4rl7im6d
@user-jd4rl7im6d Жыл бұрын
6:20. Не очень понятно, почему в фабричный метод (foo в видео) нельзя передать непосредственно класс объекта, чтобы он создал и вернул объект этого класса. Зачем передавать еще один класс, который внутри будет делать то же самое? То есть на примере в видео передать в функцию foo не МФ Стульев, а Стул? Я пишу на Пайтоне и у нас классы это тоже объекты, и их можно передавать в функции. Возможно, что на других языках такой возможности нет, поэтому необходимо создавать объект фабрики?
@kvantstudio
@kvantstudio Жыл бұрын
Я думаю тема не раскрыта. Я не понял ничего зачем мне на этапе компиляции не понимать какого типа создаётся обьект. Надо реальный пример рассматривать в коде видимо
@user-jd4rl7im6d
@user-jd4rl7im6d Жыл бұрын
@@kvantstudio это то как раз понятно) допустим по логике программы пользователь должен выбрать создать стул или стол - на этапе компиляции мы не знаем выбор пользователя. И таких вариантов множество.
@alexxxyzzz
@alexxxyzzz Жыл бұрын
@@kvantstudio Сила полиморфизма в том, что вы можете менять поведение объектов прямо в рантайме. Кому интересно можете загуглить "Динамическая диспетчеризация методов".
@Dippps
@Dippps 4 жыл бұрын
А в дочерних классах метод с приставкой override или я не о том?
@Blade_Ruiner
@Blade_Ruiner 2 жыл бұрын
Хмм. Мы задаем ему создать подкласс, но не знаем какой он создаст. Разве программирование не точная вещь, и не задается разработчиком всё всё всё? Т.е мы не знаем какой подкласс он создаст? Он разумный и сам выбирает? Я как новичок не понимаю просто. Там ни рандома, ни "шанса по процентам на то и на то". Я так понимаю, если нам надо создать подкласс. он не создаст его, если мы не укажем какой. Я пока понял, что если у кофемашины закинуть монетку и нажать заказать кофе, то он может выдать люой. а не тот, который мы выюерем нажав на кнопку.
@moonlight_shadow7396
@moonlight_shadow7396 3 жыл бұрын
11.37 ты обращаешься к методу абстрактного класса, у которого нет реализации?
@sleepysundaymorning5034
@sleepysundaymorning5034 6 жыл бұрын
Virtual - поле делающее класс абстрактным. Плюс в дочерних классах, для переопределения, надо использовать ключ. слово override
@hmixa
@hmixa 5 жыл бұрын
virtual - это то что делает метод виртуальным а абстрактным его делает abstract ))))) как-то так. Есть разница между виртуальным и абстрактным. И не поле а метод или проперти. Поле не может быть абстрактым. Учите матчасть.
@user-ni3ui6jy5y
@user-ni3ui6jy5y 4 жыл бұрын
Христос воскрес
@sergeybabiv2573
@sergeybabiv2573 8 жыл бұрын
А если для создания различных подклассов, нужны разные входные переменные?
@johnwick8332
@johnwick8332 6 жыл бұрын
а могли бы сделать видео о реализации фабричного метода?! с++ или же с#
@user-ft8tq4iy9z
@user-ft8tq4iy9z 4 жыл бұрын
да, интересен пример на с++
@victorprohorov6201
@victorprohorov6201 2 жыл бұрын
А как мы знаем какой класс создавать? В функции будут какие то условия?
@VladimirMozhenkov
@VladimirMozhenkov 2 жыл бұрын
Вы не создаёте фабричный метод если вы не знаете, что вы будете создавать. Вы понимаете, что вам надо что-то создать, и что обычный конструктор вам не подходит, и фабричный метод пишется для того, чтобы сделать то, что вам было нужно.
@victorprohorov6201
@victorprohorov6201 2 жыл бұрын
@@VladimirMozhenkov Теперь понятно, огромное спасибо!!!
@dsalodki
@dsalodki 4 жыл бұрын
создай плейлист по паттернам хотя бы, а то не нашёл больше ничего
@vitaliisydorenko8226
@vitaliisydorenko8226 8 жыл бұрын
Спасибо большое за ваш труд! У меня такой вопрос: Зачем создавать классы "СтулФаб" и "СтолФаб", почему не создать соответсвующие методы ("создатьСтул" и "создатьСтол") в классе "МебФаб"??? Например как в уроке про абстракную фабрику методы "создатьОкно" и "создать Меню".
@VladimirMozhenkov
@VladimirMozhenkov 8 жыл бұрын
+Vitalii Sydorenko Это зависит от того, как вы собираетесь создавать эти объекты. Иногда один участок кода будет создавать Столы, а другой Столья, и если они работают совершенно поразному, то почему они должны использовать ту-же самую фабрику? То есть в этом случае здесь вопрос именно уровня абстракции.
@vitaliisydorenko8226
@vitaliisydorenko8226 8 жыл бұрын
Я уже всё понял. Спасибо!
@dzen1234
@dzen1234 6 жыл бұрын
И где здесь метод, который конкретно фабричный ? Это ф-я, которая принимает параметром фабрики, или это методы фабрик ? Хорошо бы акцентировать. Мне этот ролик понравился (лайкнул), но я хочу чтобы мне ткнули пальцем в то, что здесь называется фабричным методом.
@user-xq2ng2cu3d
@user-xq2ng2cu3d 6 жыл бұрын
Извините, вы сказали "Но можно создать шаблон" я не совсем понял что за шаблон?
@expurple
@expurple 3 жыл бұрын
Вы уже скорее всего разобрались, но отвечу для остальных: имеется в виду template/generic (в разных языках по-разному называется)
@itsymphony867
@itsymphony867 3 жыл бұрын
Купи себе большую дошку наконец то
@_Agent_Smith
@_Agent_Smith 5 жыл бұрын
Верите ли вы в джаву?
@arthurgoncharuk8193
@arthurgoncharuk8193 9 жыл бұрын
этот подход вполне может сочетатся с прототипированием
@MrAirrussia
@MrAirrussia 8 жыл бұрын
Простите, а это случайно не полиморфизмом называется?
@VladimirMozhenkov
@VladimirMozhenkov 8 жыл бұрын
+Алексей Вороненко Без полиморфизма фабричный метод работать не будет, но назвать фабричный метод полиморфизмом будет неверно.
@pr0n1x2
@pr0n1x2 8 жыл бұрын
Совершенно не понятно
@dmitriyshevchenko8188
@dmitriyshevchenko8188 5 жыл бұрын
там в начале он говорил, что изучите батенька наследование)
@free115
@free115 7 жыл бұрын
К сожалению уже в который раз убеждаюсь, что у настоящих программистов нет времени записывать видео.
@Ruslan_Ishmuratov
@Ruslan_Ishmuratov 2 жыл бұрын
Как скрипит доска 😬
@SavageStyle77
@SavageStyle77 6 жыл бұрын
Боже, Володя, ты похож на Иисуса - подстригись, бороду чуть короче можно и будешь круто выглядеть
@TheDron84
@TheDron84 6 жыл бұрын
Чёт не зашло вообще.. ФМ нужен тогда, когда нам надо создать объект дочернего класса, но какой объект будет создаваться - мы не знаем. А зачем тогда создавать объект, который не известен на выходе? Что потом с ним делать? А если создаться объект не тот, что надо? Или мы не ожидали ничего конкретного на выходе, а просто - одно из? Ни вкисаю в смысл. Пойду смотреть/читать дальше эту тему.
@mishanjad2383
@mishanjad2383 6 жыл бұрын
И что? Разобрался? Я тоже не понял зачем создавать объект непонятный на ходе... Кто решает какой объект нужен. Это же не квантовый компьютер...
@rainbowcake760
@rainbowcake760 6 жыл бұрын
Как это "создастся не тот" =) если ты передаешь объект конкретной фабрики в метод =) просто он должен реализовывать интерфейс МФ. Просто это сделано для того чтобы не перекидывать в методы гору разных объектов, вместо этого просто кинуть туда 1 фабрику которая даст тебе любой из этих объектов еще и динамически.
@sackeja
@sackeja 6 жыл бұрын
До момента выполнения программы мы н е знаем. какой вид объекта нам по­ надобится создать ( B l oggsAppt E ncode r или MegaApp t Encode r } . • Мы должны иметь возможность достаточно просто добавлять новые типы объектов (например. следующее требование бизнеса - поддержка протокола SyncML}. • Каждый тип продукта связан с контекстом. который требует других специ­ ализированных операций ( g e t H e a d e r T e x t ( ) . ge t Fo o t e r T e x t ( ) ) . Кроме того. нужно отметить, что мы используем условные операторы. и мы уже видели, что их можно заменить полиморфизмом. Шаблон Factory Method позволяет использовать наследование и полиморфизм, чтобы инкапсулировать создание кон­ кретных продуктов. Другими словами, для каждого протокола создается свой под­ класс типа CommsMa nage r , в котором реализован свой метод g e t App t Encode r ( )
@kostyan196
@kostyan196 5 жыл бұрын
Ну , для примера, пользователь выбирает фильтр для ретуширования в "Фотошопе" . Следовательно он его будет выбирать в рантайме и создаваться он будет в рантайме.
@sleepysundaymorning5034
@sleepysundaymorning5034 6 жыл бұрын
Очень сильно напоминает полиморфизм, та же схема
@hmixa
@hmixa 5 жыл бұрын
Конечно, но это пример типичного использования полиморфизма но не единственное!
@zakharchuksergey4868
@zakharchuksergey4868 7 жыл бұрын
Непонятно! Увы!
@bubblesort6368
@bubblesort6368 6 жыл бұрын
Полагаю уже поздно размахивать кулаками и вы уже выучили данный паттерн, но мне больше всего помог взгляд на реализацию. Стало прям сразу все ясно.
@asapdexter6410
@asapdexter6410 3 жыл бұрын
полиморфизм
@skynowa2626
@skynowa2626 7 жыл бұрын
1С программирование
@AtlantiDoom
@AtlantiDoom 4 жыл бұрын
дайте ему 10 р на церковь
@SkySystems
@SkySystems 5 жыл бұрын
Непонятно
@skynowa2626
@skynowa2626 7 жыл бұрын
фабрика::купитьДоску();
@RedasGamesCom
@RedasGamesCom 6 жыл бұрын
Очень не понятно обьясняешь, только запутал.
@babai5655
@babai5655 2 жыл бұрын
Может я тупой но абсолютно ничего не понял.
@denis_ken
@denis_ken 6 жыл бұрын
Так нифига и не понял... ((
@yurgasparyan548
@yurgasparyan548 6 жыл бұрын
До свидания Володя
@skynowa2626
@skynowa2626 7 жыл бұрын
у тебя талант почти обьяснять
@aargh.3573
@aargh.3573 4 жыл бұрын
Привет, пострижися
@skynowa2626
@skynowa2626 7 жыл бұрын
много лишнено текста, почти Володя
Абстрактная Фабрика
12:06
Volodya Mozhenkov
Рет қаралды 35 М.
Parenting hacks and gadgets against mosquitoes 🦟👶
00:21
Let's GLOW!
Рет қаралды 11 МЛН
Why Is He Unhappy…?
00:26
Alan Chikin Chow
Рет қаралды 97 МЛН
哈莉奎因以为小丑不爱她了#joker #cosplay #Harriet Quinn
00:22
佐助与鸣人
Рет қаралды 10 МЛН
Агрегация и Композиция
19:49
Volodya Mozhenkov
Рет қаралды 56 М.
Паттерн Декоратор
20:33
Volodya Mozhenkov
Рет қаралды 30 М.
Таблица Виртуальных Методов - vtable
15:04
Volodya Mozhenkov
Рет қаралды 15 М.
Наследование
12:31
Volodya Mozhenkov
Рет қаралды 30 М.
Интерфейс в ООП
13:46
Volodya Mozhenkov
Рет қаралды 44 М.
Шаблоны Java. FactoryMethod (Фабричный метод)
12:22
Eugene Suleimanov
Рет қаралды 94 М.
SOLID-принципы. Введение в ООП на Python.
1:10:13
Тимофей Хирьянов
Рет қаралды 290 М.
THE MOST FREQUENT MISCONCEPTIONS ABOUT OOP
19:37
ExtremeCode
Рет қаралды 548 М.
The Factory Pattern in Python // Separate Creation From Use
14:58
Шаблоны Java. Фабричный метод (Factory Method)
18:04
Vladimir Vysokomornyi
Рет қаралды 42 М.
Parenting hacks and gadgets against mosquitoes 🦟👶
00:21
Let's GLOW!
Рет қаралды 11 МЛН