Factory Method pattern

Поділитися
Вставка
  • Опубліковано 28 січ 2025

КОМЕНТАРІ • 155

  • @ExtremeCode
    @ExtremeCode  7 років тому +111

    Сори за очепятки и оговорки. Монтажил в 4 утра :D

  • @ДенисШаров-п1ш
    @ДенисШаров-п1ш 4 роки тому +578

    Увы, но это дизлайк. Подача с мемчиками и смехуечками - это прекрасно и действительно смотрится свежо, и не так "академически", как у многих авторов, но в данном видео есть одна большая проблема - содержание и проблемы с матчастью.
    А теперь разъеб по фактам.
    Автор начал рассказывать проблему и по-началу все было правильно до тех пор, пока он не перешел к решению. Представленное решение с выносом "порятнок" в отдельные классы и делегированию им логки порождения объектов - это не "Фабричный Метод", а "Абстрактная Фабрика". Шаблоны действителльно похожи и их часто путают или смешивают между собой, но в них есть кардинальные отличия и я объясню их.
    Автор в конце видео верно заметил, что все шаблоны проектирования всегда решают какую то задачу или проблему, и именно в задачах кроется разница. Фабричный метод - это порождающий шаблон проектирования, смысл которого вынести логику создания объектов из абстракции в конкретные реализации этой абстракции. Что есть реализация, а что - абстракция? Абстракция - это некая логика работы программы. Эта логика не зависит от конкретных объектов и оперирует любыми из них одинаково. Для кода, содержащего абстрактную логику, в сущности, нет никакой разницы, с какими объектами он должен работать. Реализация - это, напротив, непосредственно детали, от которых зависит результат выполнения абстрактной логики.
    Развивая пример автора в нужную сторону можно предположить, что для нашего супер-экшен-хорора существует множество локаций, одна из которых - это Парк. Объект Game отвечает лишь за то, чтобы собрать какую-то локацию и запустить в ней уровень, поэтому он откуда-то берет некий объект GameLocation и вызывает у него метод createLevel(). Метод createLevel() одинаковый для всех видов локаций - он создает объект персонажа, декорации, монстров, пасхалки, предметы для интерактива и много всего еще. Как читатель успел заметить, в описании работы метода createLevel() я оперирую абстрактными понятиями: "моб", "декорация", "предметы интерактива" и т.п. Для отработки этого кода не так уж важно, какие именно мобы создаются и как они выглядят. Главное - создать КАКИХ-ТО мобов с помощью метода createEnemy(). Также следует понимать, что локаций много и мобы в них разные. В локации Детской площадки мы создаем яжматерей и бабок у скамейки, в парке - гопников и алкашей, в собственной хате - пьяного батю и поехавшего деда. Именно от этой конкретики и зависит уровень, так что, избегая развесистого if с выбором нужного моба, делегируем реализацию этой конкретики наследникам объекта GameLocation - ParkLocation, ApartmentLocation, PlaygroundLoaction и реализуем в них абстрактный метод createEnemy(). Любой из этих методов может попасть к объекту Game и любой из них по-своему создает объекты, которые нужны в ходе работы метода gameLocation.createlevel(). Эти самые методы, создающие объекты, такие как createEnemy() и называются Фабричными методами.
    Теперь о фабрике. Абстрактная фабрика - это порождающий шаблон проектирования, который позволяет инкапсулировать создание семейств объектов. В видео автор предложил инкапсулировать логику создания объектов в отдельную иерархию класса, но до конца пример не довел и не объяснил главное предназначение примененного приема. Дабы не уходить в сторону от показанного в видео, буду исходить из примера про уровни сложности локации Парк с минимальными корректировками. Представим, что нам нужно реализовать генерацию мобов по уровням сложности. У нас могут быть простые мобы, средние и сложные. Скажем, на легком уровне у нас будут создаваться (по возрастающей) Shkolnik, Alkash, Exhibitionist, на среднем - Alkash, Exhibitionist, Gopnik, на харде - Exhibitionist, Gopnik, BuhoyMent. Выносим методы createRegularEnemy, createMediumEnemy, createBossEnemy в один интерфейс IParkEnemyFactory и пишем три реализации - EasyPark, MiddlePark, HardPark, в которых создаются семейства объектов для каждого уровня.
    Класс (интерфейс) IParkFactory - абстрактная фабрика, которая своими методами порождает объекты IEnemy, а ее реализации отвечают за создание семейств согласованных по смыслу объектов. Абстрактную фабрику может использовать класс GameLocation или Game и порождать монстров согласованно.
    Резюмируя: Фабричный метод порождает объекты и его использование основано на наследовании, абстрактная фабрика порождает семейства объектов и ее использовании основано на композиции или агрегации.
    P.S Всем дочитавшим печенек и много защекоинов.
    Пойду, что-ли, свой канал по паттернам заведу.

    • @HerrHoldem
      @HerrHoldem 4 роки тому +25

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

    • @Dez-dl2gn
      @Dez-dl2gn 4 роки тому +9

      спасибо, сохранил 8 минут моего времени

    • @KlenKlenov
      @KlenKlenov 4 роки тому +1

      Спасибо за развёрнутый ответ!

    • @vladislavstepanov7591
      @vladislavstepanov7591 4 роки тому +8

      по моему это просто доеб ради доеба

    • @iharbakhanovich
      @iharbakhanovich 4 роки тому +12

      Расхуярил смехуярика

  • @Joy-dn8yz
    @Joy-dn8yz 3 роки тому +36

    Когда-то смотрел этот канал и для меня всё это было сложно...Теперь смотрю, вижу уже знакомые детали, иногда узнаю что-то новое и смеюсь от шуток (которые опять же, мне были непонятны) Да, немного, но личная победа, которой хочется поделиться

  • @youngwizard7711
    @youngwizard7711 3 роки тому +5

    Ничего не понимаю, но смотрю каждое видео

  • @alexandrsheludko9758
    @alexandrsheludko9758 5 років тому +49

    Луркоформат самое оно.

  • @nikitakuznetcov8933
    @nikitakuznetcov8933 7 місяців тому

    Братан, хорош, давай давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот по чаще

  • @ИмяФамилия-т8б8б
    @ИмяФамилия-т8б8б 6 років тому +136

    Это. Просто. Ахуенно. Прям та подача, которой не хватало техническому ютубу.

  • @НектоНеизвестный-л5ч

    Писал в университете лабу с этим паттерном (т.е. имел понятие, как он должен выглядеть), но до сих пор не понимал, зачем он нужен. Когда пришла необходимость понять, прочел статью refactoring.guru. Не добившись результата, посмотрел другой видос на ютубе (Там тоже не получил полного понимания). Когда посмотрел твое видео, уже что-то начало более менее проясняться. Зашел по ссылке в описание в примеры с уверенностью после объяснения на видео, что там я точно получу ответ, и после этого я наконец-то полностью понял смысл данного паттерна. Спасибо)

  • @ryazanov13
    @ryazanov13 4 роки тому +50

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

    • @meshcash
      @meshcash 2 роки тому +1

      Чел прав

    • @ARTOMYS
      @ARTOMYS Рік тому +5

      Че

    • @policedog757
      @policedog757 Рік тому +1

      @@ARTOMYS я тоже них*я не понял. вот любят многие выежнуться словечками))

    • @МихаилСитников-р9я
      @МихаилСитников-р9я Рік тому +4

      @@policedog757 просто в видео описан другой паттерн пёс.паттерн - абстрактная фабрика, вместо - фабричный метод. и там и там фабрика (оба порождающие паттерны) но они разные.

  • @kiristaroy9102
    @kiristaroy9102 7 років тому +4

    Отличная идея для игры

  • @andreysvitlov7807
    @andreysvitlov7807 7 років тому +89

    Без кода, непонятное дерьмо становится еще более запутанным.

    • @DadundddaD
      @DadundddaD 9 місяців тому

      Так есть же код.

  • @АндрейТаранов-ь8э
    @АндрейТаранов-ь8э 2 роки тому +5

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

  • @ImgryNumber
    @ImgryNumber Рік тому +3

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

  • @jgkdmdevienjjgg8866
    @jgkdmdevienjjgg8866 7 років тому +2

    На 6 минуте - еще в скобочки можно параметр засунуть и в зависимости от него будет создаваться тот или иной объект. В этом основная разница между подобным методом и конструктором.

    • @ExtremeCode
      @ExtremeCode  7 років тому

      Да, можно использовать какие-то дополнительные данные, которые могут поступить из конструктора. Но это всё не обязательные условия. Влиять на порождение объектов может всё что угодно по вашему желанию. Как я уже говорил в видео, это всё разные формы одного и того же паттерна.

  • @CynepnaxaTube
    @CynepnaxaTube 2 роки тому

    Давай еще, буду смотреть все. И поржал и понял.

  • @АндрейФамилия-ц6н
    @АндрейФамилия-ц6н 7 років тому +13

    Классный канал. Жаль интервалы между видео иногда большие.

  • @andreikashin
    @andreikashin 7 років тому +11

    как можно ставить дизлайк такому шедевру?

  • @alex_chugaev
    @alex_chugaev 5 років тому +1

    Очень доступно и понятно. Автор, ты молодец!

  • @TheLoNord
    @TheLoNord 2 роки тому

    В целом довольно не плохо интерпретировал, но вот за "var" в Cool Example я б спросил)))

  • @YuraYurik
    @YuraYurik 7 років тому +19

    Про рефлексию видосик?

  • @w0lfend0
    @w0lfend0 6 років тому +2

    Невероятно доходчивый метод объяснения, как и у всех остальных твоих видео. Большущий лайк)

  • @tony-p864
    @tony-p864 7 років тому

    Годнота! Клепайте ещё! :)

  • @surfspot8043
    @surfspot8043 2 роки тому

    Супер!

  • @TOM5son
    @TOM5son 7 років тому

    Однозначно лайк. Буду сильно благодарен если продолжите раскрывать тему паттернов.

  • @ВладимирВоробьев-е6о
    @ВладимирВоробьев-е6о 5 років тому +1

    Самые нелепый паттерн в теории паттернов. Его всегда подают так как будто это что-то такое революционно сокращающее объем программного кода. На самом деле применяешь его или не применяешь - программный код совершенно одинаковый, и по объему и по сложности.

  • @webmiindfreak
    @webmiindfreak 7 років тому +25

    Расскажите про MVC паттерн, пожалуйста

    • @flyoffly5133
      @flyoffly5133 7 років тому

      сначала про ещё некоторые патерны должен рассказать, как минимум наблюдателя

    • @stepanmoloko1699
      @stepanmoloko1699 7 років тому

      нахера? наблюдатель тоже саме что и делегаты, достаточно понимать их

    • @denzlwash256
      @denzlwash256 7 років тому +1

      скорей реализация этого паттерна

  • @disol588
    @disol588 3 роки тому +3

    Чем больше смотрю, тем больше убеждаюсь... Толковых людей, что умеют внятно обьяснить материал --- это не единицы! это еще меньше... в основном какие - то самоутверждающиеся выскочки, ищущий рейтинг или свое эго тешит... не понятно зачем такие пустые видео давать?! Ну если тебе от этого легче ... то поздравляю !!!!)))))

  • @ОлексійБубенко-ж5х

    Автор: говорит "вобщем и целом". Щербаков: бляяяяяяяяяяяя

  • @alexanderf7680
    @alexanderf7680 6 років тому

    Лайк, если ставил на паузу, чтобы прочитать всех обитателей парка

  • @Bmj0yp
    @Bmj0yp 7 років тому +43

    Лайк, конечно же, но когда будут потоки и параллельные вычисления для особо маленьких и тупых?

    • @guitarplayerJS
      @guitarplayerJS 7 років тому

      +

    • @ashura5357
      @ashura5357 4 роки тому

      @@guitarplayerJS ua-cam.com/video/D9qcKV4j75U/v-deo.html&ab_channel=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%8D%D1%82%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE

  • @andruf3310
    @andruf3310 6 років тому

    Лайк за интерфейс IBidlo

  • @kol4an721
    @kol4an721 2 роки тому

    Это когда чоткий пацан решил инициализироватт интерфейс, но его название не пропустила IDE

  • @andreykatskin818
    @andreykatskin818 3 роки тому

    это шедевр )

  • @alikhanaghazade9838
    @alikhanaghazade9838 7 років тому

    Хороший канал!!! Очень жду где будем учить unity и писать игру!!!

  • @ИльяСлободанюк-щ1и
    @ИльяСлободанюк-щ1и 7 років тому +2

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

    • @fediciv
      @fediciv 5 років тому

      а ты представь если на этих уровнях будет скажем логика отличатся, например будет метод createEnemy() и в разных классах ты просто по разному его реализуешь, в одном кинешь слабого противника return new EasyEnemy, в другом среднего и тд. и это самый легкий пример логики, она может быть огромная, типа разной реакции на цепочку событий, как в хоррорах

    • @kek2961
      @kek2961 3 роки тому

      @@fediciv обычная колода карт и частота генерации

  • @andredru4278
    @andredru4278 8 місяців тому

    Спасибо. Вроде полезно.

  • @KENISEG
    @KENISEG 2 роки тому +2

    на самом деле я плохо понял
    надо больше разжевать момент как плохой код зарефакторить в хороший используя паттерн
    больше блок схем

  • @simeonapu435
    @simeonapu435 5 років тому

    Про абстрактную фабрику давай!!)

  • @DigitalWeed_AB
    @DigitalWeed_AB 5 років тому +1

    А что мешает сделать один класс BidloFactory и передавать ему int параметр уровня сложности? Зачем нужен интерфейс?

    • @ИапГоревич
      @ИапГоревич 3 роки тому

      Костыльно: пойдёт разветаления в "switch" или "if"

  • @Fin143
    @Fin143 3 роки тому

    1:00 слышно как он подумал что назвать следующим и решил не тратить еще 15 минут перезаписуя этот момент

  • @EwigeDreamer
    @EwigeDreamer 6 років тому

    все просто и понятно! жду еще!)

  • @dmytrovolynets
    @dmytrovolynets 7 років тому

    Бомба!😍

  • @joekerman1114
    @joekerman1114 5 років тому +1

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

  • @slava0207
    @slava0207 7 років тому

    ВидеВо 10 из 10)))) посмотрел и подписался!

  • @decker08
    @decker08 3 роки тому +2

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

  • @vpetevotov
    @vpetevotov 5 років тому

    прекрасно, спасибо

  • @user-jg9ci7be5x
    @user-jg9ci7be5x 3 роки тому

    огонь
    спасибо

  • @НиколайСивохин-я5м

    в пятницу например больше алкашей, а в четверг больше гопников, чтобы настрелят на алкашку

  • @akass4010
    @akass4010 7 років тому +1

    А видео по атрибутам будет?

  • @headhuntez
    @headhuntez 5 років тому +2

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

    • @SergeyKomarov-k1k
      @SergeyKomarov-k1k 5 років тому

      @@Nandarion Спасибо. А если у меня есть функции, которые часто используются в разных частях программы, есть смысл закинуть их в один модуль и импортировать из него эти функции во всех частях, где они нужны ? Или надо делать как-то ещё ?

    • @SergeyKomarov-k1k
      @SergeyKomarov-k1k 5 років тому

      @@Nandarion понял, спасибо

    • @ИапГоревич
      @ИапГоревич 3 роки тому

      @@SergeyKomarov-k1k Говорят, что классы-утилиты - это плохо, но я точно не знаю

  • @AlexBychenkov
    @AlexBychenkov 7 років тому

    Поясните плиз упоминание инкапсуляции здесь. Где она?

    • @НиколайНиколаев-ю6п
      @НиколайНиколаев-ю6п 7 років тому +2

      Принцип инкапсуляции тут строится на пространствах имён.
      Пространство имён с фабрикой, знает о быдлоиерархии, но не знает ничего о других частях программы. Ни о игре, ни о парке, ни о игровых объектах фабрики вообще не в курсе. Другие части программы имеют дело только с фабриками и знают о них, но ничего не знают о быдлоиерархии.

  • @Yarkendar
    @Yarkendar 7 років тому +6

    А это не абстракция фабрика?

    • @sergeymachel2278
      @sergeymachel2278 7 років тому

      Почти, как по мне то что он описал здесь (ua-cam.com/video/ZAh3NQ9WiSg/v-deo.htmlm53s) и есть фабричный метод (только как минимум нужен параметр в методе согласно которому будут создаваться разные типы объектов), а то что он презентовал все время - это слегка недоделанная абстрактная фабрика.

    • @ExtremeCode
      @ExtremeCode  7 років тому +4

      Фабричный метод и абстрактная фабрика очень похожи. Разница заключается в том, что абстрактная фабрика порождает связанные объекты из разный иерархий.
      P.S. Многие считают, что
      public IEnemy Create(enum data){
      switch(data){
      case enum.first:
      return Bidlo();
      case enum.second:
      return Alkash();
      ....
      }
      }
      является абстрактной фабрикой, но это не так. На самом деле это пример обычного фабричного метода.

    • @flyoffly5133
      @flyoffly5133 7 років тому

      Я правильно понимаю, Абстрактная фабрика это когда есть два или больше метода, которые возвращают реализации разных интерфейсов? вместо одного, как в фабричном методе?Если очень грубо

    • @НиколайНиколаев-ю6п
      @НиколайНиколаев-ю6п 7 років тому

      Да, правильно. Но эти два или больше объекта должны быть как-то связаны.

    • @sergeymachel2278
      @sergeymachel2278 7 років тому

      Да, я это и имел ввиду. Просто в видео несколько фабричных методов, что автора исходного поста и спутало.

  • @Ничтожество-и5ш
    @Ничтожество-и5ш 6 років тому

    Ты лучший!

  • @mirlaniusUMK
    @mirlaniusUMK 4 роки тому

    ржу))) Полезно и просто, спасибо

  • @ЕгорТвердохлеб-й2р
    @ЕгорТвердохлеб-й2р 5 років тому

    А планируются продолжения паттернов?

  • @Simo_IT_channel
    @Simo_IT_channel 3 роки тому

    лучший
    2021

  • @johnwalker1232
    @johnwalker1232 7 років тому

    Ninject ведь для этой цели тоже используется? Продолжайте снимать видосы про паттерны, хоть так их попробую выучить)

    • @ExtremeCode
      @ExtremeCode  7 років тому

      Ninject это DI/IoC, совершенно разные вещи на самом деле

    • @johnwalker1232
      @johnwalker1232 7 років тому

      Можно чуть подробнее?
      Мы можем создавать быдланов в фабрике, как в примере, а можем прописать условные привязки для нинжекта и создавать их с его помощью, не? Или это неосновная фича нинжекта?

    • @MartinEden-ps6ld
      @MartinEden-ps6ld 7 років тому

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

  • @KiraLis39
    @KiraLis39 3 роки тому

    тю.. всю жизнь так пишу, а что такое паттерны не пойму и по сей момент -_-
    в прочем, я и в ООП не нашел ничего нового, странного или неестественного..

  • @shibash1
    @shibash1 7 років тому

    Кстати в udk та-же система создания обьектов.

  • @evgenasd8892
    @evgenasd8892 5 років тому

    Кто понял что к чему? 8*ой раз раз читаю код проекта (из гитхаба), ну ни как не получается вшить в голову, суть того как применяется. Да фабрики.. инкапсуляция, и синтаксис, Технически все понятно, НООО смысловая нагрузка для пере - использования подхода в своих проекта Ни как пока не пойму, как ....

  • @neordinator
    @neordinator 3 роки тому +1

    нихуя не понял, но очень интересно

  • @EoLienFive
    @EoLienFive 5 років тому

    Слегка напомнил концепцию полиморфизма.

  • @peterswinoff1886
    @peterswinoff1886 5 років тому

    Зачем создавать отдельный класс Фабрики, если можно всё это сделать в конструкторе Park???

  • @denys2957
    @denys2957 5 років тому

    Господи, как я ору, лучший

  • @СвятославЧеркасов-ы5щ

    парни, что за трек

  • @dzmitrynavasad2611
    @dzmitrynavasad2611 5 років тому +1

    Я вот вообще не кодер, не программист, просто мимо проходящий инженер. У меня вопрос к знающим: программистов вообще учат думать головой при обучении? При решении любой задачи любой человек создаёт систему алгоритмов. Эти алгоритмы так или иначе связаны между собой. То, каким образом человек решает эту систему и показывает его профессионализм. Другими словами, профессионал максимально упростит себе работу и этим максимально оптимизирует решение задачи ещё на этапе проектирования используя фичи, про которые рассказывает автор в цикле про ООП. Эти фичи ведь не только в программировании работают, но и в других сферах, где необходимо решение многоступенчатых задач со множеством неизвестных изначально либо изменяющихся во времени переменных. Получается очень унылая картина. Программистов мало, вокруг одни кодеры. Программист это инженер, а какой инструмент (читать "язык программирования") он использует, не имеет значения. Как электрик, который не будет винт под шлиц откручивать крестовой отвёрткой. Кодер выучит наизусть стандарт, но это ведь не сделает его инженером. Печатная машинка ведь не учится как нейросеть. Инженер (программист в частности) это стиль мышления, направленный на понимание каким инструментом пользоваться в определенной ситуации, а кодер это умение инструментом пользоваться.

    • @dzmitrynavasad2611
      @dzmitrynavasad2611 5 років тому +1

      @@SecondChan именно это и хотел сказать

    • @dmytro_dd
      @dmytro_dd 5 років тому +1

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

    • @awkwardquestion8643
      @awkwardquestion8643 3 роки тому

      А разве это не нормально?
      Тех же типичных электриков и сантехников, на порядок больше чем инженеров(настоящих, а не просто дипломированных) соответствующей сферы.
      Чуть дай им нетипичную задачу и они словят забор.
      Так же и здесь. Не каждый приложит руку к созданию ракеты - гайки тоже кто-то крутить должен.
      за некропостинг соре

  • @klerg321
    @klerg321 5 років тому

    единственное нормальное описание!

  • @shlm3650
    @shlm3650 4 роки тому

    Чего то в гите ничего нет.

  • @mr.lubynets
    @mr.lubynets 3 роки тому

    топ топ топ топ топ топ

  • @cowboy_ebob6118
    @cowboy_ebob6118 5 років тому

    Кто сильнее гопник, алкаш ил. Эксбиционист

  • @aleksandrsolodov2848
    @aleksandrsolodov2848 6 років тому +1

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

  • @loadmore
    @loadmore 5 років тому +3

    Ну и фантазия у тебя, лечится надо

  • @fyrich
    @fyrich 3 роки тому

    как я вообще сюда попал.

  • @vasil-vasil
    @vasil-vasil 5 років тому

    Заебцом

  • @KimarTV
    @KimarTV 4 роки тому

    Голова болит

  • @Petro_Bandera
    @Petro_Bandera 6 років тому +2

    Вообще ничего не понятно. что за бред?

  • @stanislavshilo6022
    @stanislavshilo6022 5 років тому

    douuuuu

  • @kirillsviderski4739
    @kirillsviderski4739 4 роки тому +6

    Чуваки, но это ж не фабричный метод ( плак

  • @YaDebagger
    @YaDebagger 3 роки тому

    Дружище, нравится твои видео, но тут просто эпик фэйл, потому что фабричный метод это совсем не то, что ты тут описываешь. Может хватит пилить видосы в 4 утра, лучше проспись.

  • @purplebear1638
    @purplebear1638 7 років тому

    Го некст паттерн

  • @qwertysdf34523
    @qwertysdf34523 Рік тому

    это не фабричный метод) он проще)

  • @highdpiplayer.
    @highdpiplayer. 3 роки тому

    Drachun

  • @kostek647
    @kostek647 6 років тому

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

  • @12strel
    @12strel 3 роки тому

    Ничего не понятно.

  • @ClosiusBeg
    @ClosiusBeg 3 роки тому

    эммм обычный логический подход епта

  • @LedoCool1
    @LedoCool1 4 роки тому

    Вабще пофиг.

  • @mihaylo47
    @mihaylo47 Рік тому

    зашумил восприятие матом и мемасиками, ничего не объяснил

  • @olexanderpotebenko1685
    @olexanderpotebenko1685 5 років тому

    Слава Украйини

  • @quyb6
    @quyb6 2 роки тому

    FactoryMethodLesson/CoolGood/Factory/Program.cs 34 строка комент с ошибкой( не благодари)