Тёмный

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

Riddhi Dutta
Подписаться 79 тыс.
Просмотров 14 тыс.
50% 1

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

Опубликовано:

 

21 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 73   
@rite2riddhi
@rite2riddhi 2 года назад
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_saha7 10 месяцев назад
👏👏👏 What an explanation! Don't know why this video couldn't appear in my RU-vid 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.
@dreams1ist
@dreams1ist 2 месяца назад
Excellent!! Understood builder design pattern clearly. 😊
@amitpandey9222
@amitpandey9222 11 месяцев назад
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 RU-vid 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.
@aman_deep21
@aman_deep21 3 дня назад
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.
@sachindwivedi546
@sachindwivedi546 10 месяцев назад
Great Video! Problems solved and how it is solved in a simple way.
@nancyagarwal8570
@nancyagarwal8570 2 года назад
Much needed, thanks for this series.✨🎊
@bhishambajaj8242
@bhishambajaj8242 9 месяцев назад
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
@trishulcurtis1810 10 месяцев назад
Excellent! Humble request to add more videos in this series
@brilltwoant27
@brilltwoant27 Месяц назад
amazing explanation riddhi da. I just started studying LLD and design patterns. feeling lucky to have started it from the right place!
@arghya_0802
@arghya_0802 2 года назад
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
@sahilkachhap
@sahilkachhap 2 года назад
Please sir don't stop this series. Let it grow more n more. Very few people create videos on design patterns.
@eduflex7931
@eduflex7931 Год назад
nice video Sir. helpful for dsa freshers new to system design. Please continue the playlist in the same manner: intuition + explanation
@asutoshmahapatro5903
@asutoshmahapatro5903 2 года назад
Thank you starting a fully unique playlist.please carry on.
@rite2riddhi
@rite2riddhi 2 года назад
Thank you. Means a lot.
@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 ??
@yelururao1
@yelururao1 11 месяцев назад
Thanks for Clear explanation ❤
@akashingole2133
@akashingole2133 Год назад
Hi Riddhi, can we declare an enum to hold gender values? If yes, how will it be advantageous?
@fuadhasan0362
@fuadhasan0362 2 года назад
36 awesome minutes. Thank you very much.
@bhubanendramishra6785
@bhubanendramishra6785 Час назад
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!
@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.
@ALLINONETV1
@ALLINONETV1 2 года назад
Really loved this video ❤️ and it's very informative. Waiting for next video.....
@rite2riddhi
@rite2riddhi 2 года назад
Dropping tomorrow 💯
@iamnoob7593
@iamnoob7593 Месяц назад
Thanks riddhi
@shubhampokhriyal8491
@shubhampokhriyal8491 2 года назад
great.. will there be full lld playlist?
@divyareddy7622
@divyareddy7622 Год назад
thank you so much bhaiya!!!!
@suheabkhan2546
@suheabkhan2546 2 года назад
Sarey design patterns cover kariyega riddhi bhai, just awesome explaination..Looking forward to learn them
@rite2riddhi
@rite2riddhi 2 года назад
Thank you ❤️
@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.
@R0hanThakur
@R0hanThakur 3 месяца назад
The video was so worth it I am seeing this and able to appreciate my work server code repo
@KrishnaSingh-yc7wp
@KrishnaSingh-yc7wp 7 месяцев назад
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
@shivaarukonda2640
@shivaarukonda2640 Год назад
sir, your explanation is too good. why don't you share the code?
@pooranivenkat3483
@pooranivenkat3483 14 дней назад
Hi. Thanks for the great lecture. Pls upload the code😊
@ravitiwari2160
@ravitiwari2160 Год назад
badhiyan padhaya bhai tumne... more power to you..
@rite2riddhi
@rite2riddhi Год назад
Thank you
@nkalra0123
@nkalra0123 Год назад
why are you not using intellij IDEA?
@suheabkhan2546
@suheabkhan2546 2 года назад
Can we expect all the design patterns in this series??
@alikagarwala210
@alikagarwala210 2 года назад
Very helpful 👍 Love from UEMK
@rite2riddhi
@rite2riddhi 2 года назад
❤️💯
@nightgamer8953
@nightgamer8953 9 месяцев назад
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.
@rohithchittibommala2002
@rohithchittibommala2002 Год назад
please continue this series !
@rohithchittibommala2002
@rohithchittibommala2002 Год назад
I understand you are busy , but can we know when this series will continued
@mickys4999
@mickys4999 25 дней назад
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 17 дней назад
We need to add new attribute both to dog & builder class and create setter & getter of new attribute in builder class
@mickys4999
@mickys4999 16 дней назад
@@girunalaspurthinaveli3121 Yeah but won't it violate the open closed principle
@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.
@Swaroop_Rath
@Swaroop_Rath 2 года назад
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
@varshneyshuchi 2 года назад
Please cover all the design pattern
@hell-o8470
@hell-o8470 Год назад
code link pls?
@sadvikgowda6474
@sadvikgowda6474 2 года назад
Nice
@rite2riddhi
@rite2riddhi 2 года назад
Thanks
@AshishGusain17
@AshishGusain17 2 года назад
Can you share the code too?
@pratikdey8062
@pratikdey8062 Месяц назад
At times I thaugh I was watching striver's videos xd
@harshitpandey7521
@harshitpandey7521 2 года назад
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😅
@atulsingh9266
@atulsingh9266 Год назад
please complete the series
@atulsingh9266
@atulsingh9266 Год назад
Recently I watch your video posted on @technical sunega
@pradeepravi9608
@pradeepravi9608 Год назад
Sir please make more videos in LLD and HLD
@rite2riddhi
@rite2riddhi Год назад
From Jan
@pradeepravi9608
@pradeepravi9608 Год назад
@@rite2riddhi thanks sir
@tuhinmukherjee8141
@tuhinmukherjee8141 2 года назад
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
Далее
Hamster Kombat 20 July Mini Game
00:13
Просмотров 10 млн
We will see who will do it better 😂
00:14
Просмотров 2,7 млн
How to create an Immutable Class in Java from Scratch?
14:04
5 Design Patterns That Are ACTUALLY Used By Developers
9:27
Master the Fluent Builder Design Pattern in C#
15:05
Просмотров 24 тыс.
Hamster Kombat 20 July Mini Game
00:13
Просмотров 10 млн