The Java Builder Pattern, and my favorite secret technique

Поделиться
HTML-код
  • Опубликовано: 7 сен 2024

Комментарии • 44

  • @Jack_Hodkinson
    @Jack_Hodkinson  5 месяцев назад +3

    What topic would you be interested in learning about next?

    • @PilarczykM
      @PilarczykM 4 месяца назад

      Any design pattern will be valuable 🤗

  • @jamessinnott8798
    @jamessinnott8798 29 дней назад +2

    Thanks for the video. Explained very well compared to some of the other tutorials I've seen online.

  • @Play_Streams
    @Play_Streams 5 месяцев назад +10

    I love this no-fluff approach. Simple and straight to the point. Sub +1

  • @DamLee88
    @DamLee88 5 месяцев назад +7

    also lombok @Builder makes the job easier, thanks good video

  • @IvanToshkov
    @IvanToshkov 6 месяцев назад +2

    Nice. I normally prefer to use runtime checks and exceptions, but for more complex objects the multiple interfaces may pay up?
    Here's an idea for a followup video: You have three classes: an abstract Base class and classes A and B which extend it. Create builders for them without code duplication.

  • @DominikusHerzberg
    @DominikusHerzberg 6 месяцев назад +2

    Wow, very impressive explanation and coding style. The channel I was looking for but didn't know existed. Thank you very much!

  • @returncode0000
    @returncode0000 7 месяцев назад +3

    I like your explanations so much! Always on point and really helpful, great job 👍

  • @bcampera
    @bcampera 3 месяца назад

    Thanks for the explanation. I feel like this is only needed because of modern features that other languages have and Java doesn't.
    I had some experience with Dart and I loved its named constructors and named mandatory and optional parameters. I will never understand why this doesn't get added to Java

  • @vladtudorache2483
    @vladtudorache2483 Месяц назад +1

    Your best video.

  • @mrindian7422
    @mrindian7422 7 месяцев назад +2

    Love the way you think ❤

  • @vasealis
    @vasealis 5 месяцев назад

    You can use also a Record class, the fields in a record class are immutable as well.

  • @vib7777
    @vib7777 2 месяца назад

    Awesome!! Subscribed

  • @vendettavera4641
    @vendettavera4641 4 месяца назад

    Nice explanation, can't wait for more

  • @tylerbakeman
    @tylerbakeman 6 месяцев назад

    Coding setters as chain-able methods is always satisfying:
    instead of- void setX () { … }
    using- ClassName setX() { … return this; }
    so you can theoretically:
    object.setX( v1 ).setY( v2 )…
    The only issue is if the setter’s aren’t final (returning a value other than this)- setters should probably be final anyhow (unless you have some sort of EventDispatch system).

  • @maximschott1300
    @maximschott1300 16 дней назад

    Thanks a lot for this video! +1 sub, so don't stop recording the interesting videos :)

  • @PilarczykM
    @PilarczykM 4 месяца назад

    Very good explanation 🎉

  • @prodevops6271
    @prodevops6271 6 месяцев назад

    Love it and subscribed after watching fist 15 seconds of this video.❤

  • @burningfire2k
    @burningfire2k 6 месяцев назад

    That was a fast explanation 👏

  • @Mirage2020
    @Mirage2020 5 месяцев назад

    Java seriously needs to consider adding support for named parameters. There is just too much one needs to to in order to have the same functionality as python, dart and kotlin named parameters (it would also help a lot with deconstruction patterns, which they are trying to get good using the new proposed "with" keyword

  • @sobeck6900
    @sobeck6900 5 месяцев назад +3

    WOW, explained more in 3 min than some books...

  • @mrindian7422
    @mrindian7422 7 месяцев назад +2

    Can you pls create complete playlist for along with real time project in Java 8 for collage student

    • @Jack_Hodkinson
      @Jack_Hodkinson  7 месяцев назад +1

      Working on it! I have a live coding project here, where I implement an ArrayList in real time ruclips.net/video/P2P-ZUvIsZM/видео.html

    • @mrindian7422
      @mrindian7422 7 месяцев назад +1

      @@Jack_Hodkinson Thank you very much

  • @user-lj6xj5bg6o
    @user-lj6xj5bg6o 6 месяцев назад +1

    I am your 1000th number Subscriber

  • @softwaretactics1536
    @softwaretactics1536 5 месяцев назад

    It is so mind boggling that you have imbibed so much into a 3 minute video!

  • @noelgomile3675
    @noelgomile3675 5 месяцев назад +1

    Would this be needed if Java had named parameters?

    • @Jack_Hodkinson
      @Jack_Hodkinson  5 месяцев назад

      Good question. Not really!

    • @dentjoener
      @dentjoener 5 месяцев назад

      I always tell people that builders are just shitty excuses for named parameters. I tend to shy away from them because I hate them with a passion. Use smaller objects that can be composed into larger objects, link this with some domain driven design (a name might be a string, but an Email sure as hell shouldn't be), and there's way less issues. Also static factory methods >>> constructors.

  • @user-xb4dj3ky6m
    @user-xb4dj3ky6m 5 месяцев назад

    Could you share the editor theme from the examples?

    • @Jack_Hodkinson
      @Jack_Hodkinson  5 месяцев назад

      Hi, the examples are all written in markdown using Marp (marp.app/). I use the Visual Studio Code extension.

  • @loyyeeko1231
    @loyyeeko1231 6 месяцев назад

    wonderful

  • @ShubhamKumar-vh7ti
    @ShubhamKumar-vh7ti 6 месяцев назад

    Subscribed

  • @poloolo69
    @poloolo69 6 месяцев назад

    real

  • @farshidnaqizadeh159
    @farshidnaqizadeh159 6 месяцев назад

    why just return class object in setter? so alots of codes are removed and result is the same.

    • @desoroxxx
      @desoroxxx 6 месяцев назад

      No, otherwise you wouldn't be able to chain them

    • @scarletdice
      @scarletdice 5 месяцев назад +2

      then you have a class that is mutable. might not what you want when immutability is intended.

  • @terrytorres5026
    @terrytorres5026 5 месяцев назад

    Wholy crap,then we wonder why coding is overcomplicated and breaks when new releases of Java come out.

  • @josepescina4360
    @josepescina4360 5 месяцев назад

    too much work