JavaScript Паттерны. Полный курс (22 паттерна в 1 видео)

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ส.ค. 2024

ความคิดเห็น • 144

  • @Ramosok
    @Ramosok 2 ปีที่แล้ว +14

    Очень помог этот курс подготовиться к собесу, да и вообще все твои ролики помогли стать хорошим jun+ разработчиком.

    • @YauhenKavalchuk
      @YauhenKavalchuk  2 ปีที่แล้ว

      👍

    • @digitalturkistan1857
      @digitalturkistan1857 ปีที่แล้ว +1

      Евгени очень дорожит подписчиков что ему не трудно ответит каждому комментарии. Спасибо

  • @Ramosok
    @Ramosok 2 ปีที่แล้ว +6

    Спасибо за твой труд!

  • @toyotominashimoto9963
    @toyotominashimoto9963 2 ปีที่แล้ว +6

    годный урок. кратко и ясно

  • @user-mu7yi5ii6n
    @user-mu7yi5ii6n 4 ปีที่แล้ว +7

    Спасибо за видос будем посмотреть))

  • @N7N7N77
    @N7N7N77 7 หลายเดือนก่อน

    Спасибо, все прослушала и законспектировала....очень важное видео

    • @YauhenKavalchuk
      @YauhenKavalchuk  7 หลายเดือนก่อน +1

      Всегда пожалуйста

  • @user-hq3ri7ui7l
    @user-hq3ri7ui7l ปีที่แล้ว +1

    Спасибо за труд, интересно и полезно

  • @yurii873
    @yurii873 4 ปีที่แล้ว +12

    Смотрел ваш курс по graphQL - эт супер ))) еще раз спасибо. Надеюсь у вас в Минске все ок, мы все с вами!

    • @YauhenKavalchuk
      @YauhenKavalchuk  4 ปีที่แล้ว +2

      Спасибо за поддержку!

  • @dianabohomoliuk9191
    @dianabohomoliuk9191 3 ปีที่แล้ว +6

    ОГРОМНОЕ тебе спасибо! Ты сделал невероятное - такую сложную тему так круто й просто объяснил. Спасибо, за то, что ты делаешь!)

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      Спасибо большое за отзыв 😊

    • @user-gf9qe9im7r
      @user-gf9qe9im7r 2 ปีที่แล้ว

      ничего не понятно! материал для новичков объяснен так что и профи не поймет что тут говорят

  • @toyotominashimoto9963
    @toyotominashimoto9963 2 ปีที่แล้ว +1

    прими мою благодарность, малой.
    сохраню себе это видео в качестве шпаргалки и руководства на будущее)

  • @Nextspace8bit
    @Nextspace8bit 4 ปีที่แล้ว +17

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

  • @Krishtal3
    @Krishtal3 ปีที่แล้ว

    Дуже дякую за відео, корисно для всіх рівнів программістів

  • @JB-sv8oh
    @JB-sv8oh 2 ปีที่แล้ว

    самое лучшее видео по паттернам

  • @user-pd6px2ky6f
    @user-pd6px2ky6f ปีที่แล้ว

    Большое спасибо за урок! Успехов вам!

  • @SvetloeSerdce
    @SvetloeSerdce 4 ปีที่แล้ว +3

    мне кажется, я еще не раз посмотрю этот видос)))

  • @evergreensun7283
    @evergreensun7283 3 ปีที่แล้ว +2

    Вы крутой!! Спасибо за видео. Успехов вам

  • @_oxios_
    @_oxios_ 4 ปีที่แล้ว +1

    Класс, четко! Мало что понял. Нужно больше практики.

  • @uzver3787
    @uzver3787 3 ปีที่แล้ว

    Чётко! Отличный курс!
    JavaScript Паттерны

  • @user-wz1tn7fn4s
    @user-wz1tn7fn4s 4 ปีที่แล้ว +3

    Спасибо, очень удобный формат))

  • @vitaliiponomarov1271
    @vitaliiponomarov1271 ปีที่แล้ว

    #собеседование #javascript #frontend #html #css #React #Redux видео база, топ, основа.

  • @filippkotenko851
    @filippkotenko851 2 ปีที่แล้ว +2

    Спасибо тебе за труды большое)

  • @user-oz3wx9uk7b
    @user-oz3wx9uk7b 3 ปีที่แล้ว +1

    спасибо, самое понятное что я находил по паттернам

  • @yurii873
    @yurii873 4 ปีที่แล้ว

    я еще не смотрел но уже в восторге. Спасибо большое, давным давно хотел разобрать!!!

  • @oleksandr.ryzhyk
    @oleksandr.ryzhyk 4 ปีที่แล้ว +2

    Шикарно! Спасибо большое!

  • @66613ad
    @66613ad 4 ปีที่แล้ว

    Евгений спасибо большое за этот канал) Буду теперь тебя смотреть)

  • @user-rg5tk3sw6v
    @user-rg5tk3sw6v 4 ปีที่แล้ว

    Спасибо за видео)

  • @kirillpavlovskii8342
    @kirillpavlovskii8342 ปีที่แล้ว

    крутое видео, спасибо

  • @frookkiesilver4805
    @frookkiesilver4805 3 ปีที่แล้ว +2

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

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว +1

      Спасибо за отзыв и на а сравнение)

  • @yevhenvictorovich2288
    @yevhenvictorovich2288 4 ปีที่แล้ว

    Thanks for this video. I've just started to read a book about it.

  • @user-rd3yd6lh2e
    @user-rd3yd6lh2e 3 ปีที่แล้ว

    Супер! Огромное спасибо за Вашу работу! Все понятно!

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      Спасибо за отзыв

    • @user-gf9qe9im7r
      @user-gf9qe9im7r 2 ปีที่แล้ว

      а мне непонятно, автор очень плохо объясняет материал

  • @abudarovich
    @abudarovich ปีที่แล้ว

    в "сохраненные" 🔥

  • @user-ed5lw8lz2i
    @user-ed5lw8lz2i 2 ปีที่แล้ว

    Отличное видео, подача материала очень четкая и понятная, спасибо большое.
    Немножко не понял смысл паттерна Strategy, ну ещё почитаю про него )

  • @hasst9261
    @hasst9261 4 ปีที่แล้ว

    Отлично

  • @maximevtahov2360
    @maximevtahov2360 4 ปีที่แล้ว +2

    спасибо за видео, очень полезно

  • @Max-kr4ie
    @Max-kr4ie 4 ปีที่แล้ว

    Ты крут!

  • @AMTVE
    @AMTVE 8 หลายเดือนก่อน

    И тема сегодняшней лекции

  • @Nikitosss91
    @Nikitosss91 4 ปีที่แล้ว +3

    Ничего не понятно, но очень интересно

  • @Polite_person_
    @Polite_person_ 4 ปีที่แล้ว

    Спасибо за урок!

  • @artemdovhyi4312
    @artemdovhyi4312 2 ปีที่แล้ว +1

    Пришел сюда повторить материал, но совсем запутался
    Если я не ошибаюсь, говоря о паттерне Фабричный метод ты говорил о простой фабрике, а не о самом патерне
    Различия в том, что простая фабрика имеет большой условный оператор для создания того или иного продукта, а паттерн создает класс в котором есть пустой метод по созданию продукта с определенным интерфейсом, а подклассы могут его переназначать для создания конкретных продуктов

  • @kostya-seriy
    @kostya-seriy 2 ปีที่แล้ว +1

    Начал только разбираться. Проверьте, пожалуйста, по-моему в паттерне Singleton закралась опечатка (на 06:36). Установка счетчика в ноль в конструкторе необходимо переместить в блок if. Спасибо.

  • @AlexanderYukal
    @AlexanderYukal 4 ปีที่แล้ว

    5:40 Простите, Евгений, я что-то плохо понял к какому контексту принадлежит переменная instance? Похоже она определяется глобально? Если я не ошибаюсь в строгом режиме такое делать нельзя? 7:54 А вот вижу, просто дальше не досмотрел. Хм, подход интересный, но тогда еще остается проблема с оператором "new", ведь при каждом его вызове будет выделятся память, если я не ошибаюсь.

  • @serhiimaliuha69
    @serhiimaliuha69 3 ปีที่แล้ว +3

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

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว +4

      Нет не могу. Паттерны в React не используются. Как вариант - очень отдалённо можно сказать что для утилит нормализации данных использую что-то вроде Адаптера. А так, паттерны в основном нужны при разработке на чистом JS

    • @dreawmy2912
      @dreawmy2912 2 ปีที่แล้ว

      @@YauhenKavalchuk на чистом js большинство паттернов не нужны или их сложно понять

    • @user-ew2md8cu8j
      @user-ew2md8cu8j 2 ปีที่แล้ว

      @@YauhenKavalchuk а как же HOC в реакте, это же декораторы

  • @POEOneLove
    @POEOneLove 6 หลายเดือนก่อน

    На примере кажется не фабрика нужна а массив обьектов конфигурации с параметрами авто. Пробежавшись по массиву мы также создадим тебе авто, но при этом не придется просить программиста править код классов

    • @YauhenKavalchuk
      @YauhenKavalchuk  6 หลายเดือนก่อน

      🤔возможно, не очень удачный пример

  • @user-tk7qv9rv2c
    @user-tk7qv9rv2c ปีที่แล้ว

    Спасибо за курс, с первого раза (ничего не зная о паттернах), сложно, конечно. Но мне кажется, что и тема эта не для базового уровня?

  • @user-mp2qu2nh9t
    @user-mp2qu2nh9t 3 ปีที่แล้ว

    Если я правильно понял, то объект команды лучше передавать непосредственно в метод execute водителя - в таком случае один водитель сможет выполнять разные команды. Если же команду передавать в конструктор водителя, то получается "Один водитель - одна команда".

  • @donottrackmepls
    @donottrackmepls ปีที่แล้ว

    В видео показан пример "Simple Factory", а не "Factory Method" - что, кажется, немного "урезает" всю мощь паттерна. Поправьте если я не прав :)

    • @YauhenKavalchuk
      @YauhenKavalchuk  ปีที่แล้ว

      Ну, я всё рассказал в видео)

  • @zet0sfx
    @zet0sfx 8 หลายเดือนก่อน +1

    46:35 Мост - это разве не структурный паттерн? Оговорка?

  • @romasbitinas643
    @romasbitinas643 2 ปีที่แล้ว

    Объясните, зачем нужно паттерн Builder, если можно создавать объекты на основе параметров из конструктора, минуя цепочку методов? И кода же меньше выйдет. Или это пример такой простой, а на самом деле в подобные методы фабрики кладут код длиннее, который неудобно помещать в аргументы?

  • @vladyt5093
    @vladyt5093 หลายเดือนก่อน

    Hero!

  • @ReAgent003
    @ReAgent003 2 ปีที่แล้ว

    Спасибо!
    01:34:28 а почему водителю не передан класс "onSwitchOffCommand"? Как теперь ему машину глушить?)) Наверное в классе "Driver" надо было разделить логику запуска/останова двигателя?
    01:36:58 думаю лучше передавать как можно меньше информации (в данном случае news было бы достаточно)
    Хорошее видео!

    • @user-ed5lw8lz2i
      @user-ed5lw8lz2i 2 ปีที่แล้ว

      Кстати тоже не очень понял. Я назвал класс не Driver, а Command, и тогда можно в его экземпляры передавать как onStartCommand так и onSwitchOffCommand, и тогда более-менее смысл паттерна начинает быть понятным.

  • @ridl27
    @ridl27 3 ปีที่แล้ว

    и да, можно все же было показать и более продвинутые примеры этих паттернов, а не простые, как вы говорите)
    не недооценивайте силу и желание работяг :D

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      Как уж есть

    • @ridl27
      @ridl27 3 ปีที่แล้ว

      @@YauhenKavalchuk спасибо и на том) но если у Вас будет время и желание - можете дополнить эту серию уроков :)

  • @miloman1995s
    @miloman1995s 9 หลายเดือนก่อน +1

    я искренне не понимаю, зачем мне паттерные проектирования, работаю 3 года, ощущаю себя middle++/senior.... пользуюсь SOLID, DRY, KISS , FSD archirecture.... но нафига мне паттерны? я не пользуюсь ООП, я пишу в функциональном стиле (да я понимаю что функциональное программирование это что то типа библиотеки ramda.. но в целом и в общем - называю стиль написания функциональным)

    • @andreigovorukhin
      @andreigovorukhin 9 หลายเดือนก่อน

      ощущаешь middle++/senior, но по факту джун - смирись

  • @vponochovny
    @vponochovny ปีที่แล้ว

    6:35 - А разве не будет if(!instance) выполняться, когда мы впервый раз создали этот класс через new? И получится, что instance будет равно this первого созданного класса? тут я не совсем понимаю как работает

    • @Rusu421
      @Rusu421 ปีที่แล้ว

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

  • @Renarus
    @Renarus ปีที่แล้ว

    33:05 «авторизироваться» 😅

  • @zigzag2341
    @zigzag2341 2 ปีที่แล้ว

    Прокси какой-то неправильный, интерфейс же поменялся, т. к оригинальный метод не принимал аргумент с паролем или это норма в JS ? Это самый крутой материал по паттернам, который я встречал

    • @YauhenKavalchuk
      @YauhenKavalchuk  2 ปีที่แล้ว

      Да вроде всё ок. За отзыв, спасибо

  • @AMTVE
    @AMTVE 8 หลายเดือนก่อน

    после видео смастирил машину

  • @alicenNorwood
    @alicenNorwood 2 ปีที่แล้ว

    41:34 (Компоновщик):
    - Один исходный класс...
    - (Чтобы править ими всеми?)

  • @Prevedov
    @Prevedov 4 ปีที่แล้ว

    А полные видео по каждому паттерну будут на канале?

    • @YauhenKavalchuk
      @YauhenKavalchuk  4 ปีที่แล้ว

      Это видео содержит полный курс по всем паттернам

    • @Prevedov
      @Prevedov 4 ปีที่แล้ว

      @@YauhenKavalchuk спасибо!

  • @_lazer_
    @_lazer_ 4 ปีที่แล้ว +1

    на JS все это выглядит стремно, без нормального ООП, интерфейсов... :) но для новичков видео однозначно хорошое!

    • @YauhenKavalchuk
      @YauhenKavalchuk  4 ปีที่แล้ว

      Да на JS это стрёмно)

    • @user-ox4yl6gu3u
      @user-ox4yl6gu3u 4 ปีที่แล้ว

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

    • @_lazer_
      @_lazer_ 4 ปีที่แล้ว

      @@user-ox4yl6gu3u так говорят те кто кроме JS ничего больше не видел :)

    • @user-ox4yl6gu3u
      @user-ox4yl6gu3u 4 ปีที่แล้ว +3

      @@_lazer_ ну если знания ассемблера, Си, Python - это относится, к тем, кто ни чего не видел, то твоя правда!

  • @alexup7437
    @alexup7437 ปีที่แล้ว

    Не совсем понял разницу между декоратором и посетителем

  • @azamatzabirdinov3777
    @azamatzabirdinov3777 3 ปีที่แล้ว

    Bridge это структурный паттерн

  • @ridl27
    @ridl27 3 ปีที่แล้ว

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

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      В git есть весь код! Посмотрите в ветках

    • @ridl27
      @ridl27 3 ปีที่แล้ว

      ​@@YauhenKavalchuk да, код именно паттернов есть, но не их использования = практического применения. я об этом))

  • @suc911
    @suc911 ปีที่แล้ว

    Паттерн Composite Вообще не зашёл. Описание древовидное а пример достаточно плоский, может стоило еще 1 уровень добавить ( может body расписать )

  • @iGotton
    @iGotton 4 ปีที่แล้ว

    +

  • @michaelmyers717
    @michaelmyers717 ปีที่แล้ว

    А куда ещё один пропал, где 23-й то😁

  • @raptorthefirst
    @raptorthefirst 4 ปีที่แล้ว

    У кого собез в Епаме на этой неделе ?)

  • @bargamut
    @bargamut 3 ปีที่แล้ว

    У Компоновщика временная метка съехала: должна быть на 40:24

  • @alexandrkurmoyarov4634
    @alexandrkurmoyarov4634 2 ปีที่แล้ว

    В реализации visitor лишние console.log() вызовы:
    1. В exportVisitor не надо писать auto.export = console.log(`Exported data: ${auto.info()}`)
    Лучше: auto.export = `Exported data: ${auto.info()}`
    А после ифов return auto.export
    И в классе Auto: return visitor(this)
    И потом выводить в консоль console.log(tesla.accept(exportVisitor))
    2. Или оставить все как есть но тогда вызывать без консоли tesla.accept(exportVisitor)). Все равно undefined возвращает.

  • @mrsad6611
    @mrsad6611 ปีที่แล้ว

    А чем отличается реализация синглотон паттерна от статического класса. Ведь по сути статический класс сам по себе реализует все задачи singleton.
    Статичность класса гарантирует что сущность будет одна во всех случаях.
    Вот например:
    class Basket {
    static count = 0;
    static countUp(){
    Basket.count++;
    }
    }
    _______________________________________________
    --------------- script.js ----------------------------------
    Basket.countUp();
    console.log(Basket.count);
    ----------------- script2.js ___________________
    Basket.countUp();
    console.log(Basket.count);
    консоль:
    1
    2