Understanding Builder Patterns from Scratch | Low Level Design | OOPS | Design Pattern | Java

0:00 - Problem we face without Builder Pattern
18:25 - Introduction to Builder Pattern
33:28 - Builder Pattern Code
🔴 Connect with me on Instagram - / code.blooded.voyager and ask me doubts 1:1. Would try to reply to each one of you.
🔴 Join My Telegram Channel for Placement Updates and attend my Free Live Classes on DS Algo - telegram.me/riddhi_dutta
🔴 Connect with me on LinkedIn - / riddhi-dutta
🔴Graph Placement Series From Scratch - • Graphs - The Ultimate ...
🔴 Link to my TopicWise SDE Sheets Playlist : • Trees SDE Coding Probl...
Tags
#designpatterns #builderpattern #lld #oops #java

Пікірлер: 73

  • @rite2riddhi
    @rite2riddhi2 жыл бұрын

    Video acha laga to krpiya comment kare.🙂

  • @korandlasaipraneeth2816

    @korandlasaipraneeth2816

    Жыл бұрын

    Was it an ipad you are using? If it was,then what is the model?

  • @vikram_saha7
    @vikram_saha710 ай бұрын

    👏👏👏 What an explanation! Don't know why this video couldn't appear in my KZread search results when I searched for a builder design pattern.

  • @pravenom5036
    @pravenom5036 Жыл бұрын

    holy shit! such a great video. Keep going on with this series man. I've also watched your graph playlist, it was great.Most of the design pattern stuff over the internet never really explains the "WHY" for the pattern. But you always make sure that you focus on the "WHY" a lot and its so great. I've seen the same in graph series when you explained dial's algo before going to djikstra.Thanks for this.

  • @nancyagarwal8570
    @nancyagarwal85702 жыл бұрын

    Much needed, thanks for this series.✨🎊

  • @sachindwivedi546
    @sachindwivedi54610 ай бұрын

    Great Video! Problems solved and how it is solved in a simple way.

  • @aman_deep21
    @aman_deep2111 күн бұрын

    Awesome explanation, loved the way you covered the topic in smooth way and made it look like a cakewalk, thank you. Please cover all other design patterns in similar way.

  • @dreams1ist
    @dreams1ist2 ай бұрын

    Excellent!! Understood builder design pattern clearly. 😊

  • @yelururao1
    @yelururao111 ай бұрын

    Thanks for Clear explanation ❤

  • @amitpandey9222
    @amitpandey922211 ай бұрын

    I always think about learning design patterns but no one is explaining the real problem of when to use which design patterns. Recently, I found your channel on KZread and learning things. Love the way you present the content and please keep adding the other design patterns & LLD things. Please create such good content. Keep doing it !!. Thanks a lot.

  • @bhishambajaj8242
    @bhishambajaj82429 ай бұрын

    Your explanation is simply awesome! I've been using this pattern with the @Builder annotation for quite a while, but your detailed explanation helped me truly understand its exact purpose and the need for it, what is going in the background.

  • @trishulcurtis1810
    @trishulcurtis181011 ай бұрын

    Excellent! Humble request to add more videos in this series

  • @iamnoob7593
    @iamnoob7593Ай бұрын

    Thanks riddhi

  • @asutoshmahapatro5903
    @asutoshmahapatro59032 жыл бұрын

    Thank you starting a fully unique playlist.please carry on.

  • @rite2riddhi

    @rite2riddhi

    2 жыл бұрын

    Thank you. Means a lot.

  • @fuadhasan0362
    @fuadhasan03622 жыл бұрын

    36 awesome minutes. Thank you very much.

  • @arghya_0802
    @arghya_08022 жыл бұрын

    Thank you so much sir for starting with this very important important topic. You really listen to the masses need!! Keep up the good work sir!!

  • @rite2riddhi

    @rite2riddhi

    2 жыл бұрын

    Thank you

  • @brilltwoant27
    @brilltwoant272 ай бұрын

    amazing explanation riddhi da. I just started studying LLD and design patterns. feeling lucky to have started it from the right place!

  • @divyareddy7622
    @divyareddy7622 Жыл бұрын

    thank you so much bhaiya!!!!

  • @eduflex7931
    @eduflex7931 Жыл бұрын

    nice video Sir. helpful for dsa freshers new to system design. Please continue the playlist in the same manner: intuition + explanation

  • @akashingole2133
    @akashingole2133 Жыл бұрын

    Hi Riddhi, can we declare an enum to hold gender values? If yes, how will it be advantageous?

  • @sahilkachhap
    @sahilkachhap2 жыл бұрын

    Please sir don't stop this series. Let it grow more n more. Very few people create videos on design patterns.

  • @ALLINONETV1
    @ALLINONETV12 жыл бұрын

    Really loved this video ❤️ and it's very informative. Waiting for next video.....

  • @rite2riddhi

    @rite2riddhi

    2 жыл бұрын

    Dropping tomorrow 💯

  • @codecspy3479
    @codecspy3479 Жыл бұрын

    Good video. I have a doubt. If a new client comes and asks for some extra methods/attributes which are not there in our Dog class, we do not try to modify the Dog class as this is violating SOLID principle(Open closed principle to be precise).The Open-Closed Principle requires that classes should be open for extension and closed to modification. So as done in the video is modifying the already defined Dog class a good thing to do ??

  • @shubhampokhriyal8491
    @shubhampokhriyal84912 жыл бұрын

    great.. will there be full lld playlist?

  • @VigneshS-br5rr
    @VigneshS-br5rr Жыл бұрын

    I have never seen this much explanation . Thank you bro , want more videos Can you please create a video What are the skills we need to develop to become good developer?

  • @pallavivarshney93
    @pallavivarshney93 Жыл бұрын

    very good video..cleared my concept on builder design pattern and many small things which I see in production code and wonder why done like this. Can you please share the code in description that would be really helful.

  • @bhubanendramishra6785
    @bhubanendramishra67857 күн бұрын

    Insightful! But I am filled with doubts. The usage of 'this' keyword is baffling, more so because the code is working. How can a 'static' class 'DogBuilder' have an instance to refer to? 'this' keyword is used in every method in DogBuilder and as said in the video, it's returning an "instance" of the class "DogBuilder". How is this possible? The combination of static and 'this' keyword is confusing. Could you please reply to the question , forever grateful!

  • @suheabkhan2546
    @suheabkhan25462 жыл бұрын

    Sarey design patterns cover kariyega riddhi bhai, just awesome explaination..Looking forward to learn them

  • @rite2riddhi

    @rite2riddhi

    2 жыл бұрын

    Thank you ❤️

  • @R0hanThakur
    @R0hanThakur3 ай бұрын

    The video was so worth it I am seeing this and able to appreciate my work server code repo

  • @nkalra0123
    @nkalra0123 Жыл бұрын

    why are you not using intellij IDEA?

  • @alikagarwala210
    @alikagarwala2102 жыл бұрын

    Very helpful 👍 Love from UEMK

  • @rite2riddhi

    @rite2riddhi

    2 жыл бұрын

    ❤️💯

  • @pooranivenkat3483
    @pooranivenkat348322 күн бұрын

    Hi. Thanks for the great lecture. Pls upload the code😊

  • @rohithchittibommala2002
    @rohithchittibommala2002 Жыл бұрын

    please continue this series !

  • @rohithchittibommala2002

    @rohithchittibommala2002

    Жыл бұрын

    I understand you are busy , but can we know when this series will continued

  • @piyushpathak1186
    @piyushpathak1186 Жыл бұрын

    36 min dekh ke laga kon dekhe lekin kya mast video hai har ek cheez samajh aaya and now I am going to watch whole playlist Thank you for making this video

  • @rite2riddhi

    @rite2riddhi

    Жыл бұрын

    Means a lot.

  • @ravitiwari2160
    @ravitiwari2160 Жыл бұрын

    badhiyan padhaya bhai tumne... more power to you..

  • @rite2riddhi

    @rite2riddhi

    Жыл бұрын

    Thank you

  • @suheabkhan2546
    @suheabkhan25462 жыл бұрын

    Can we expect all the design patterns in this series??

  • @shivaarukonda2640
    @shivaarukonda2640 Жыл бұрын

    sir, your explanation is too good. why don't you share the code?

  • @nightgamer8953
    @nightgamer89539 ай бұрын

    Hi , I have one question. 1) What if we want to change the Dog Name again after the Dog is created? we should expose Dog's setName method to client - ( is this correct ) anyone please clarify it.

  • @hell-o8470
    @hell-o8470 Жыл бұрын

    code link pls?

  • @sadvikgowda6474
    @sadvikgowda64742 жыл бұрын

    Nice

  • @rite2riddhi

    @rite2riddhi

    2 жыл бұрын

    Thanks

  • @harshraj22_
    @harshraj22_2 жыл бұрын

    I had a few doubts: 1. For some developers, the object of dog class contains extra attributes which are not needed by them and is set to null. Is this an acceptable practice to have such classes with extra attributes ? 2. Is this pattern anyway helpful for languages which support default keyword arguments in constructors (eg. Python) ? 3. Shouldn't a Multiple Inheritance solve the problem better, as the client should inherit only the classes which contain the method that are needed, and so new class would have only those attributes which are needed by client (nothing extra) ?

  • @rite2riddhi

    @rite2riddhi

    2 жыл бұрын

    1. I think it should be fine. One use case which I can currently think of is while writing unit test cases when you want to test a particular functionality and don't want your object to be populated by data , irrelevant to the test case. 2. you can use default parameters. I think it's there in java as well using ellipsis. But still you have to enforce the client to remember the order. And it is also not backward compatible as I mentioned. To top it all off , it doesnt help in code readability when , you pass so many parameters inside the constructor. 3. Multiple inheritance is not supported in java. Hope I was able to clarify your doubts

  • @obsessiveDreamer

    @obsessiveDreamer

    2 жыл бұрын

    ​@@rite2riddhifor the second question:- there is a concept called named argument by which u can pass the argument in any order into a function, so basically if a constructor has a default parameter value then we can achieve all possible combinations of constructor by using name argument.

  • @rite2riddhi

    @rite2riddhi

    2 жыл бұрын

    @@obsessiveDreamer right.

  • @mickys4999
    @mickys4999Ай бұрын

    I didnt understand one thing in builder pattern. What if we need to add another attribute to the static builder class like color of dog? Do we need to modify the static class? How will we implement it?

  • @girunalaspurthinaveli3121

    @girunalaspurthinaveli3121

    24 күн бұрын

    We need to add new attribute both to dog & builder class and create setter & getter of new attribute in builder class

  • @mickys4999

    @mickys4999

    23 күн бұрын

    @@girunalaspurthinaveli3121 Yeah but won't it violate the open closed principle

  • @Swaroop_Rath
    @Swaroop_Rath2 жыл бұрын

    Waoo Riddhi Bhaiya...LLD shuru kar diya. Thanks for this. Aur bhaiya Graph ka series khatam hogya kya ya kuch aur questions agey add hongey ?

  • @rite2riddhi

    @rite2riddhi

    2 жыл бұрын

    add honge . topological sort baki hai

  • @Swaroop_Rath

    @Swaroop_Rath

    2 жыл бұрын

    @@rite2riddhi Ohkay bhaiya. Thanks for quick response.

  • @varshneyshuchi
    @varshneyshuchi2 жыл бұрын

    Please cover all the design pattern

  • @AshishGusain17
    @AshishGusain172 жыл бұрын

    Can you share the code too?

  • @pratikdey8062
    @pratikdey8062Ай бұрын

    At times I thaugh I was watching striver's videos xd

  • @atulsingh9266
    @atulsingh9266 Жыл бұрын

    please complete the series

  • @atulsingh9266

    @atulsingh9266

    Жыл бұрын

    Recently I watch your video posted on @technical sunega

  • @KrishnaSingh-yc7wp
    @KrishnaSingh-yc7wp7 ай бұрын

    Q. How this Builder pattern code implementing immutability of gender attribute ? A. Now you can define set method inside Dog class directly for the attribute you wish to update in future. But for email attribute which we want to keep immutable don't define setEmail method inside Dog class for email attributes. So once Builder object is constructed now its in Dog class hands to provide client with the set method for selected attribute I hope this understanding is correct

  • @harshitpandey7521
    @harshitpandey75212 жыл бұрын

    DogBuilder is a static class. Then why are we using it as DogBuilder().setGender(“Male”). Shouldn’t it be DogBuilder.setGender(“Male”)?

  • @rite2riddhi

    @rite2riddhi

    2 жыл бұрын

    SetGender() is not static thats why😅

  • @pradeepravi9608
    @pradeepravi9608 Жыл бұрын

    Sir please make more videos in LLD and HLD

  • @rite2riddhi

    @rite2riddhi

    Жыл бұрын

    From Jan

  • @pradeepravi9608

    @pradeepravi9608

    Жыл бұрын

    @@rite2riddhi thanks sir

  • @tuhinmukherjee8141
    @tuhinmukherjee81412 жыл бұрын

    Bruno might identify as a female. You never know.

  • @test-tj3jk
    @test-tj3jk Жыл бұрын

    Just use lombok , it will save you a ton of time , you can thanks me later.................

  • @rite2riddhi

    @rite2riddhi

    Жыл бұрын

    I know , it helps in getters and setters. But don't want to confuse people with it and keep things simple. Thanks for the suggestion though

Келесі