Много параметров? - юзаем паттерн Builder и пишем DSL

Поділитися
Вставка
  • Опубліковано 16 жов 2024
  • Сегодня мы будем изобретать паттерны программирования Builder и DSL (декларативное описание) для конструктора объекта с большим количеством параметров.
    С вами Илья Никсан и мы учим язык программирования Kotlin с нуля для начинающих программистов
    Если ты хочешь быстро научиться писать код на языке котлин то смело подписывайся и следи на новыми видео на канале
    Про меня:
    Меня зовут Илья, мне стукнуло 30 лет
    С 20 лет я плотно занимаюсь программированием и всем что связано с айти. В 2010 году я начинал карьеру как Android разработчик в QIWI. За прошедшие 10 лет я побывал во многих ролях: от джуниор-программиста, был тимлидом, менеджером, техническим директором. Успел поработать на фрилансе, в студии разработки и даже в Яндексе.
    Ссылки:
    nixan.org/
    / seemsnerdy
    / nixan

КОМЕНТАРІ • 20

  • @fjfalcon
    @fjfalcon 3 роки тому +12

    Илья, все здорово, но что изменилось то? Если сравнить код на 7:41 и на 2:07 - выглядит абсолютно одинаково.

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

      Таки да, поменялись скобки и добавился Builder, а кода писать больше. Есть ли у DSL - подхода другие неочевидные преимущества перед именованными переменными, кроме некоего Kotlin-way?

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

      главная разница что на 2:07 вызывается конструктор, с обычной передачей значений переменных туда, а на 7:41 прям код, можно еще туда всяких функций напихать, то есть необязательно только явно переменным значения напихивать, можно еще и посчитать что-нибудь. Но профит главный будет если еще сложнее запилить конструктор

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

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

  • @44444Legendofsurf
    @44444Legendofsurf Рік тому

    Параметры Билдера можно запихнуть в костуруктор и не писать по методу для каждого поля. Больно уж по явовский выходит.

  • @André-m9n3w
    @André-m9n3w 3 роки тому

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

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

      Ну ваще дсл то это не только конструкторы, зацени офф либу телеграма - там весь конфиг бота через дсл сделан

    • @André-m9n3w
      @André-m9n3w 3 роки тому

      А я не говорю что дсл это плохо, я на ktor пет проджект писал и на swiftui даже в прод так что жду jetpack compose с нетерпением и верю что за декларатвкой будущее, но в этом примере как-то очень притянуто за уши

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

    хардкод в конструкторе? странный совет, я точно не буду так делать

  • @sergeyshcherbakov3653
    @sergeyshcherbakov3653 3 роки тому +7

    не, че-то фигня какая-то, тема билдера не раскрыта ) так ты n- лямов подписчиков себе не накрутишь )))

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

      Скоро замучу апдейт

  • @sno-oze
    @sno-oze 3 роки тому +1

    Так себе пример, соглашусь с предыдущими ребятами, не хватает раскрытия

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

    Спасибо! Было бы круто ссылку на гит давать)) крутые видео!

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

    чувак, лучшее объяснение на русском ютубе! Пересмотрел дофига роликов на эту тему, но только ты нормально донес до меня суть этого паттерна! Спасибо!

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

    А вы знаете, что НА?
    А вы знаете, что КА?
    На канале у Seems Nerdy
    12 лямов человек!
    Прям 12 здоровенных -
    Не одиннадцать,
    Не десять,-
    Ровно 12 человек!- Ну! Ну! Ну! Ну!
    Врешь! Врешь! Врешь! Врешь!
    Ну одиннадцать,
    Ну десять,
    Ну еще туда-сюда,
    Но двенадцать,
    Прям двенадцать,-
    Это просто ерунда!
    😂😂😂😂

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

    Ты не правильно понимаешь DSL, от слова совсем.

  • @ГеннадийШадрин-с6ж

    а что это за изык? трэшовенько выглядит