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

Sdílet
Vložit
  • čas přidán 16. 07. 2015
  • Фабричный метод - это паттерн программирования, позволяющий легко описать в одном участке кода, какие объекты следует создавать в другом.

Komentáře • 153

  • @user-sm4el8xh8g
    @user-sm4el8xh8g Před 6 lety +383

    Сам Иисус учит нас паттернам :D

    • @loam
      @loam Před 5 lety +13

      а после идет гулять по воде

    • @pymentor.
      @pymentor. Před 4 lety +3

      Аминь

    • @__alexfox__
      @__alexfox__ Před 4 lety +6

      =)))) Я первым делом так и подумал, Иисус тоже кодит!

    • @MrAbad202
      @MrAbad202 Před 3 lety +2

      @@__alexfox__, а утконос -- это баг?

    • @__alexfox__
      @__alexfox__ Před 3 lety +2

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

  • @youxxxgun9001
    @youxxxgun9001 Před 5 lety +49

    Благодарю тебя, Отец Володимир)

  • @BagratS
    @BagratS Před 7 lety +56

    Я люблю этого парня. Просто шикарное объяснение. Спасибо большое.

  • @Nikita04111991
    @Nikita04111991 Před 8 lety +34

    Наконец то я нашел видеоуроки в которых объясняют паттерны понятным человеческим языком. Одного просмотра хватило чтобы всё стало ясно

  • @GlassedUA
    @GlassedUA Před 8 lety +119

    Батюшка преподает дизайн паттерны ? Хмм это же офигенно!

    • @nikolaiii3
      @nikolaiii3 Před 6 lety +9

      Это не батюшка, это Шан-Тсунг. Глаза видел?

    • @user-lv9uz2hk2u
      @user-lv9uz2hk2u Před 6 lety +2

      Не знаю почему, но я смеялся пол часа с этого комментария )))))))))))

    • @sergey-shalaev
      @sergey-shalaev Před 5 lety +6

      Батюшка не батюшка, а разложил по полочкам всё как боженька

    • @loam
      @loam Před 5 lety

      @@sergey-shalaev Ага, кашерно прям.

    • @hmixa
      @hmixa Před 5 lety

      @@sergey-shalaev Бредово разложил если честно, почитайте мой комент.

  • @andyanderson222
    @andyanderson222 Před 2 lety +11

    "Раз уж это русский язык, назову переменную Ж" - это было ОООЧЕНЬ многозначительно. В оценке ситуации с Вами полностью согласен)

  • @user-mh1mi4xv1h
    @user-mh1mi4xv1h Před 3 lety +4

    Потрясающе, почему не нахожу такого толкового объяснения нигде?! Большое спасибо

  • @user-xd6mk4fp2l
    @user-xd6mk4fp2l Před 6 lety +7

    Самый лучший преподаватель, каких только уроков я не смотрел, всегда самые понятные и доходчивые у Volodya Mozhenkov

  • @learnz1373
    @learnz1373 Před 4 lety +1

    Полнедели понять не мог практическое применение. Спасибо. Огромное спасибо

  • @brunkovsky
    @brunkovsky Před 9 lety +28

    Приятно слушать. Заметил, что Владимир не не делает разницы и не отдает предпочтение какому-либо языку программирования или операционной системе. По-моему, это признак мудрого человека.

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +9

      +Stas Brunkovsky О, поверьте, у меня есть предпочтение и языка и операционной системе. Просто здесь я объясняю вещи, связанные с программировании вцелом.

    • @brunkovsky
      @brunkovsky Před 9 lety +13

      +Vladimir Mozhenkov Ну да, как и у всех нас. Но не ставите на этом акцент. И, как мне показалось, уважительно относитесь к пользователям всех операционных систем и языков программирования. Благодаря тому, что рассказываете про общее, а не частное.

  • @athena6043
    @athena6043 Před 6 lety

    Спасибо за видео, Владимир. Надеюсь вы продолжите снимать ролики о паттернах.

  • @4everTHEbeatlemania
    @4everTHEbeatlemania Před 8 lety

    Класс, всё доступно и понятно! Спасибо!

  • @any3develop282
    @any3develop282 Před 6 lety +1

    Объяснил понятно .
    Главное придумать куда это прикрутить.
    Я понял что это нужно для будущего , чтобы можно было внести изменения и не затронуть работу программы.

  • @alexanderakhtyrtsev5776
    @alexanderakhtyrtsev5776 Před 4 lety +1

    Спасибо огромное за такое чёткое объяснение)

  • @user-cw4sc2le1q
    @user-cw4sc2le1q Před 5 lety +1

    Привет из 2019го, огромное спасибо за разьяснение, в нашей студенчиской методичке все слишком заумно описано, а ваше видео сделано гараздо более доступно для понимания.

  • @IIIA_KO
    @IIIA_KO Před 2 lety +1

    6 лет назад вышел ролик, но полезно и сейчас

  • @user-vt9ie4wl4w
    @user-vt9ie4wl4w Před 6 lety

    Спасибо большое!

  • @antonbeton5738
    @antonbeton5738 Před 7 lety

    Крутое видео, крутой канал. Как будет время все пересмотрю

  • @kerrigan_katyakatya9377

    Володя спасибо!

  • @babai5655
    @babai5655 Před 2 lety +2

    Фабрика - это класс в котором задается фабричный метод создания продукта, который определяет стандартный вариант поведения. Затем он делегирует подробности создания подклассам. В принципе клиент не обязательно должен вызывать непосредственно метод "СоздатьМебель" Клиент может вызвать метод фабрики, фабрика выполнит стандартные действия - например, создаст накладные. А потом уже сама вызовет"СоздатьМебель" чтобы получить стол или стул.

  • @Balkofag
    @Balkofag Před 2 lety

    Спасибо за объяснение, лекция помогла

  • @valshin
    @valshin Před 9 lety +1

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

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +4

      Валерий Шинкаренко Видео про Абстрактную Фабрику уже выложил. Сейчас через 30 минут ещё будет про Простую фабрику. Тоже посмотрите.

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +4

      czcams.com/video/_5f2zs-8e04/video.html

  • @RTPotolo4niy
    @RTPotolo4niy Před 6 lety

    Круто объясняешь, лайк

  • @user-ow6dr9ok6c
    @user-ow6dr9ok6c Před rokem

    Огромная вам благодарность, святой человек за свет..

  • @koroloff88
    @koroloff88 Před 6 lety

    Самое лучшее объяснение!

  • @user-sh6xn3qz1p
    @user-sh6xn3qz1p Před rokem

    Супер!!! Спасибо!

  • @user-hr7yc3qp8e
    @user-hr7yc3qp8e Před 5 lety

    Спасибо!

  • @bloodyink3423
    @bloodyink3423 Před 2 lety

    Спасибо Вам

  • @user-kh8zm3on2b
    @user-kh8zm3on2b Před 3 lety

    Спасибо, круто!

  • @MyFearIsMyBlue
    @MyFearIsMyBlue Před 2 lety

    Круто. Экстравагантно, но доходчиво!

  • @USER-GU4GJJURFGJKV
    @USER-GU4GJJURFGJKV Před 5 lety +7

    А я то думал, куда Паук из коррозии подался? )))

  • @user-im1iu5kr9s
    @user-im1iu5kr9s Před 6 lety

    Первый раз слушала-не поняла. Потом почитала в статье про фабричный метод с примерами и второй раз просмотрев видео-все было понятно

  • @user-mz7fg8ei7k
    @user-mz7fg8ei7k Před 4 lety +3

    14:51 даа! - это интересно, даа! - это нужно! даа! - примеры на с++ :)

  • @baron2272
    @baron2272 Před 8 měsíci

    Отлично объясняете. Расскажите об использовании фабричного метода для вывода views в MVC проектах.

  • @user-qe6un8mn5m
    @user-qe6un8mn5m Před 6 lety

    Годно, абсолютно понятно

  • @Federation1323
    @Federation1323 Před 4 lety +1

    Меня много раз спрашивали, как меня зовут, и вот теперь я говорю во всеуслышание: меня зовут Володя! xDD
    Мне понравился видос!

  • @kudokrasnodar
    @kudokrasnodar Před 3 lety

    Спасибо, очень помогло

  • @klev1983
    @klev1983 Před 7 lety +5

    Предлагаю в следующий раз создавать барную стойку и барный стул.

  • @user-ql8uy2oq6b
    @user-ql8uy2oq6b Před 5 lety +1

    Ахреневаю каждый раз когда натыкаюсь на его видео xd

  • @alextopsite
    @alextopsite Před 7 lety

    Хорошая тема

  • @maksimvolkov8892
    @maksimvolkov8892 Před 4 lety

    Отличное видео

  • @gsm7490
    @gsm7490 Před rokem

    Моднейшие паттерны тащемта. Чад кутежа, угар!

  • @denislopatin3100
    @denislopatin3100 Před 8 lety

    очень хорошо. Лично мне было бы как бонус реализация на Си примеров использования излагаемых Вами паттернов. Это не потому что не понятно через диаграммы и общие обозначение, это потому что через код лучше видно их возможное применения на практике. Спасибо за урок.

  • @user-dn7nu6zq3n
    @user-dn7nu6zq3n Před 8 lety +13

    не совсем понял, с таким же успехом в такой матод может передаваться не фабрика и не стул или стол , но Мебель. Тогда мы сможем вызвать метод someMethod(мебель) с аргументами someMethod(стул) или someMethod(стол) и цель будет достигнута. Так же мебель может запросто быть интерфейсом, что еще более упростит работу, а стало быть пример не до конца объясняет, зачем нужна именно фабрика.

    • @yalauitarik
      @yalauitarik Před 4 lety

      Плюс ко всему сказано, что класс МебФаб абстрактный и не может иметь свой объект, тогда как мы засовываем его в качестве аргумента в функцию foo(МебФаб МФ)

    • @igorbaglaev2496
      @igorbaglaev2496 Před 4 lety

      @@yalauitarik поскольку СтулФаб и СтолФаб наследники МебФаб, то в foo(МебФаб мф) ты можешь подставлять СтулФаб и СтолФаб

    • @HerrHoldem
      @HerrHoldem Před 4 lety +1

      И как это должно выглядеть на практике? Хотите в Мебель засунуть реализацию создания другой мебели? Это не самое лучшее решение.

    • @xfg9183
      @xfg9183 Před 4 lety

      Потому что этот шаблон все интерпретируют как угодно, но только не так как это задумывалось в GoF. Метод создМебель должен вызываться внутри МебФаб. То есть в МебФаб описывается некий алгоритм и внутри него вызывается метод создМебель. Кароче то что он пишет в функции foo, должно быть в МебФаб. Тогда всё очевидно. Это родственный шаблон к template method. В английской вики есть прекрасный пример реализации MazeGame где показывается верная интерпретация этого шаблона, но к сожалению там же полно и разных неверных вариантов не имеющих никакого отношения к GoF.

    • @youknowme9732
      @youknowme9732 Před 2 lety

      @@HerrHoldem Вики (рус. версия) Фабричный метод, примеры - "PHP5 современный вариант". Выполнена реализация фабричного метода в классе Animal (т.е. в Мебели). А дальше реализация без фабричного метода $class = "Lion"; (new $class)->voice(); Фабричный метод, кроме красивой записи нечего не дает.

  • @DevPlayGame
    @DevPlayGame Před 3 lety

    Да,реализацию посмотреть было бы круто!

  • @spyphyfarnsworth6050
    @spyphyfarnsworth6050 Před 6 lety +2

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

  • @user-ft8tq4iy9z
    @user-ft8tq4iy9z Před 4 lety

    да, интересен пример на с++

  • @GlebHero
    @GlebHero Před 7 lety +5

    7:55 норм затролел

  • @ne4to777
    @ne4to777 Před 8 lety +8

    Собственно, а как потом определяется тип мебели? Неполный урок, так как не описана проблема. Она, как бы констатируется, но не обосновывается.

    • @user-xj1fv7lk1z
      @user-xj1fv7lk1z Před 7 lety

      Наследование учи. Какой объект передадут , тот и выберет компилятор

    • @Лжеученый_Юра
      @Лжеученый_Юра Před 5 lety +3

      @@user-xj1fv7lk1z Володя сказал, что классы стул и стол обычно прячут, поэтому ты не сможешь эти объекты передать. Вот это и осталось непонятным в видео.

    • @AlexCSharp
      @AlexCSharp Před 5 lety

      @@Лжеученый_Юра Ты не можешь их создать НАПРЯМУЮ, это сделает за тебя фабрика. В этом и смысл.

    • @user-rz1bn3gl7q
      @user-rz1bn3gl7q Před 4 lety

      @@AlexCSharp откуда фабрика узнает, что именно нужно создать?

    • @AlexCSharp
      @AlexCSharp Před 4 lety

      @@user-rz1bn3gl7q От запросившего, например. От настроек фабрики. От контекста зависит. Если тебе нужно создать пайплайн данных - тебе нужно будет лишь вызвать фабрику, все остальные обходимые для пайплайна объекты она создаст сама. Фабрик много, применений много. Читай "паттерны проектирования" Банды Четырёх.

  • @kolob204
    @kolob204 Před 3 lety

    Ох уж Этот взгляд :-) Кашпировский нервно курит в стороне.

  • @user-pg8ry1tm3t
    @user-pg8ry1tm3t Před 5 měsíci

    шаблоны можно запрограммировать на динамическое поведение… в компайл-тайме

  • @SoBoL9500
    @SoBoL9500 Před 4 lety

    Очень полезный урок. Я как раз изучаю паттерны более подробно. Но я не могу найти плейлист с паттернами на Вашем канале. Можете предоставить ссылку?

  • @looklikethegodfather
    @looklikethegodfather Před 9 lety +1

    Хотелось бы увидеть пример на PHP

  • @sergeybabiv2573
    @sergeybabiv2573 Před 8 lety

    А если для создания различных подклассов, нужны разные входные переменные?

  • @user-ni3ui6jy5y
    @user-ni3ui6jy5y Před 3 lety +1

    Христос воскрес

  • @Watamote336
    @Watamote336 Před 4 lety +1

    никак не пойму, про что еще в этом видео сказано помимо чисто динамического полиморфизма. Но лайкос поставил)

  • @Dippps
    @Dippps Před 4 lety

    А в дочерних классах метод с приставкой override или я не о том?

  • @zozuliar
    @zozuliar Před 10 měsíci

    В чем разница между Фабричным методом и Dependency Injection? При инъекции зависимостей мы тоже передаем в конструктор класса A неизвестный объект B, реализующий определённый интерфейс. А потом можно исполнять в этом первом классе A сколько угодно методов A->foo1(), A->foo2(), ..., A->fooN().
    Получается. что инъекция зависимостей это более сложный вариант фабричного метода?

  • @sleepysundaymorning5034

    Virtual - поле делающее класс абстрактным. Плюс в дочерних классах, для переопределения, надо использовать ключ. слово override

    • @hmixa
      @hmixa Před 5 lety +1

      virtual - это то что делает метод виртуальным а абстрактным его делает abstract ))))) как-то так. Есть разница между виртуальным и абстрактным. И не поле а метод или проперти. Поле не может быть абстрактым. Учите матчасть.

  • @lichlichi
    @lichlichi Před 6 lety

    Где находится сам код результата выбора пользователем, это ведтка If'ов или что то ещё?

  • @johnwick8332
    @johnwick8332 Před 6 lety

    а могли бы сделать видео о реализации фабричного метода?! с++ или же с#

  • @moonlight_shadow7396
    @moonlight_shadow7396 Před 3 lety

    11.37 ты обращаешься к методу абстрактного класса, у которого нет реализации?

  • @KENISEG
    @KENISEG Před 2 lety +1

    ээээх видосик не дожат до конца, я ждал развязки с той функцией\классом который "что бы не дублировать" вмял в себя методы фабрики.
    интересно было увидеть как манипулировать это функцией (аргументами?) типо foo(стулья) ? а как в коде указать что функция через фабрику должна стулья создавать?

    • @KENISEG
      @KENISEG Před 2 lety

      и о почему нельзя костыль использовать, на аргумент подавать номерной int нужного типа, а в функции по кейсу указывать какого типа создать объект?)))))))))))))))))))

  • @dsalodki
    @dsalodki Před 4 lety

    создай плейлист по паттернам хотя бы, а то не нашёл больше ничего

  • @vitaliisydorenko8226
    @vitaliisydorenko8226 Před 8 lety

    Спасибо большое за ваш труд! У меня такой вопрос: Зачем создавать классы "СтулФаб" и "СтолФаб", почему не создать соответсвующие методы ("создатьСтул" и "создатьСтол") в классе "МебФаб"??? Например как в уроке про абстракную фабрику методы "создатьОкно" и "создать Меню".

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 8 lety

      +Vitalii Sydorenko Это зависит от того, как вы собираетесь создавать эти объекты. Иногда один участок кода будет создавать Столы, а другой Столья, и если они работают совершенно поразному, то почему они должны использовать ту-же самую фабрику?
      То есть в этом случае здесь вопрос именно уровня абстракции.

    • @vitaliisydorenko8226
      @vitaliisydorenko8226 Před 8 lety

      Я уже всё понял. Спасибо!

  • @user-xq2ng2cu3d
    @user-xq2ng2cu3d Před 6 lety

    Извините, вы сказали "Но можно создать шаблон" я не совсем понял что за шаблон?

    • @expurple
      @expurple Před 3 lety

      Вы уже скорее всего разобрались, но отвечу для остальных: имеется в виду template/generic (в разных языках по-разному называется)

  • @itsymphony867
    @itsymphony867 Před 3 lety

    Купи себе большую дошку наконец то

  • @_Agent_Smith
    @_Agent_Smith Před 5 lety

    Верите ли вы в джаву?

  • @Blade_Ruiner
    @Blade_Ruiner Před 2 lety

    Хмм. Мы задаем ему создать подкласс, но не знаем какой он создаст. Разве программирование не точная вещь, и не задается разработчиком всё всё всё? Т.е мы не знаем какой подкласс он создаст? Он разумный и сам выбирает? Я как новичок не понимаю просто. Там ни рандома, ни "шанса по процентам на то и на то". Я так понимаю, если нам надо создать подкласс. он не создаст его, если мы не укажем какой. Я пока понял, что если у кофемашины закинуть монетку и нажать заказать кофе, то он может выдать люой. а не тот, который мы выюерем нажав на кнопку.

  • @hmixa
    @hmixa Před 5 lety +1

    Надуманный пример, параллельное наследование вредно само по себе. Обычный статический метод возвращающий базовый класс и динамически решает instants какого типа создавать, например читая конфигурационые файлы. Ну или все-таки создать класс фабрику но не наследовать её, класс нужен просто для того если принятие решения по созданию Instants-а более сложное и не помещается в один метод. А так как товарищ предлагает это убивает всякую динамику, какую фабрику передали то и будет всегда создаваться. Смысл?

  • @user-jd4rl7im6d
    @user-jd4rl7im6d Před rokem +1

    6:20. Не очень понятно, почему в фабричный метод (foo в видео) нельзя передать непосредственно класс объекта, чтобы он создал и вернул объект этого класса. Зачем передавать еще один класс, который внутри будет делать то же самое? То есть на примере в видео передать в функцию foo не МФ Стульев, а Стул? Я пишу на Пайтоне и у нас классы это тоже объекты, и их можно передавать в функции. Возможно, что на других языках такой возможности нет, поэтому необходимо создавать объект фабрики?

    • @kvantstudio
      @kvantstudio Před rokem

      Я думаю тема не раскрыта. Я не понял ничего зачем мне на этапе компиляции не понимать какого типа создаётся обьект. Надо реальный пример рассматривать в коде видимо

    • @user-jd4rl7im6d
      @user-jd4rl7im6d Před rokem

      @@kvantstudio это то как раз понятно) допустим по логике программы пользователь должен выбрать создать стул или стол - на этапе компиляции мы не знаем выбор пользователя. И таких вариантов множество.

    • @alexxxyzzz
      @alexxxyzzz Před rokem

      @@kvantstudio Сила полиморфизма в том, что вы можете менять поведение объектов прямо в рантайме. Кому интересно можете загуглить "Динамическая диспетчеризация методов".

  • @victorprohorov6201
    @victorprohorov6201 Před 2 lety

    А как мы знаем какой класс создавать? В функции будут какие то условия?

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 2 lety

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

    • @victorprohorov6201
      @victorprohorov6201 Před 2 lety

      @@VladimirMozhenkov Теперь понятно, огромное спасибо!!!

  • @arthurgoncharuk8193
    @arthurgoncharuk8193 Před 9 lety

    этот подход вполне может сочетатся с прототипированием

  • @dzen1234
    @dzen1234 Před 6 lety

    И где здесь метод, который конкретно фабричный ? Это ф-я, которая принимает параметром фабрики, или это методы фабрик ? Хорошо бы акцентировать. Мне этот ролик понравился (лайкнул), но я хочу чтобы мне ткнули пальцем в то, что здесь называется фабричным методом.

  • @MrAirrussia
    @MrAirrussia Před 8 lety

    Простите, а это случайно не полиморфизмом называется?

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 8 lety +7

      +Алексей Вороненко Без полиморфизма фабричный метод работать не будет, но назвать фабричный метод полиморфизмом будет неверно.

  • @sleepysundaymorning5034

    Очень сильно напоминает полиморфизм, та же схема

    • @hmixa
      @hmixa Před 5 lety

      Конечно, но это пример типичного использования полиморфизма но не единственное!

  • @asapdexter6410
    @asapdexter6410 Před 3 lety +1

    полиморфизм

  • @SavageStyle77
    @SavageStyle77 Před 6 lety

    Боже, Володя, ты похож на Иисуса - подстригись, бороду чуть короче можно и будешь круто выглядеть

  • @free115
    @free115 Před 7 lety +3

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

  • @pr0n1x2
    @pr0n1x2 Před 8 lety +23

    Совершенно не понятно

    • @dmitriyshevchenko8188
      @dmitriyshevchenko8188 Před 5 lety +1

      там в начале он говорил, что изучите батенька наследование)

  • @Ruslan_Ishmuratov
    @Ruslan_Ishmuratov Před 2 lety

    Как скрипит доска 😬

  • @zakharchuksergey4868
    @zakharchuksergey4868 Před 7 lety +3

    Непонятно! Увы!

    • @bubblesort6368
      @bubblesort6368 Před 6 lety

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

  • @skynowa2626
    @skynowa2626 Před 7 lety

    1С программирование

  • @SkySystems
    @SkySystems Před 4 lety

    Непонятно

  • @TheDron84
    @TheDron84 Před 6 lety

    Чёт не зашло вообще.. ФМ нужен тогда, когда нам надо создать объект дочернего класса, но какой объект будет создаваться - мы не знаем.
    А зачем тогда создавать объект, который не известен на выходе? Что потом с ним делать? А если создаться объект не тот, что надо? Или мы не ожидали ничего конкретного на выходе, а просто - одно из? Ни вкисаю в смысл. Пойду смотреть/читать дальше эту тему.

    • @mishanjad2383
      @mishanjad2383 Před 6 lety

      И что? Разобрался? Я тоже не понял зачем создавать объект непонятный на ходе... Кто решает какой объект нужен. Это же не квантовый компьютер...

    • @rainbowcake760
      @rainbowcake760 Před 6 lety +1

      Как это "создастся не тот" =) если ты передаешь объект конкретной фабрики в метод =) просто он должен реализовывать интерфейс МФ. Просто это сделано для того чтобы не перекидывать в методы гору разных объектов, вместо этого просто кинуть туда 1 фабрику которая даст тебе любой из этих объектов еще и динамически.

    • @sackeja
      @sackeja Před 6 lety

      До момента выполнения программы мы н е знаем. какой вид объекта нам по­
      надобится создать ( 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 Před 5 lety

      Ну , для примера, пользователь выбирает фильтр для ретуширования в "Фотошопе" . Следовательно он его будет выбирать в рантайме и создаваться он будет в рантайме.

  • @skynowa2626
    @skynowa2626 Před 7 lety

    фабрика::купитьДоску();

  • @RedasGamesCom
    @RedasGamesCom Před 6 lety +1

    Очень не понятно обьясняешь, только запутал.

  • @babai5655
    @babai5655 Před 2 lety

    Может я тупой но абсолютно ничего не понял.

  • @AtlantiDoom
    @AtlantiDoom Před 4 lety +2

    дайте ему 10 р на церковь

  • @yurgasparyan548
    @yurgasparyan548 Před 6 lety

    До свидания Володя

  • @denis_ken
    @denis_ken Před 6 lety

    Так нифига и не понял... ((

  • @aargh.3573
    @aargh.3573 Před 4 lety

    Привет, пострижися

  • @skynowa2626
    @skynowa2626 Před 7 lety

    у тебя талант почти обьяснять

  • @skynowa2626
    @skynowa2626 Před 7 lety

    много лишнено текста, почти Володя