Thank you so much Shreyansh, I can't tell you how valuable your videos are. When I am watching your videos, the time simply flies. Keeping audience engaged is an amazing skill in an educational RUclipsr. Keep making great content ❤
Builder Pattern actually solves the main problem of having multiple constructors for a single entity class. Let's assume a class has 8 data members and you may want to use some data fields at time and not at other times. So for 8 data fields 2^8 constructors are needed to cover all cases. With Builder pattern you dont need these 2^N constructors just use the power of setters and in a final builder() you get the object you want. This is the only purpose of builder pattern , rest other patterns are very well explained . Really loved it ❤ .
Thanks for consolidating all the creational design patterns in 1 video! Great way for us to revise all the patterns. Expecting the same for Behavioral and Structural patterns
@@ConceptandCoding sir one request = > in which senario or situation we should make our object as immutable. I have a doubt in it. if we will make class final , private then how we can achieve SOLID principles. will it be voilating the principles of SOLID ? if it is possible so plse make video on this, sir bze placement is near🙂🙂🙂
@@John12685 dedicated detailed video is available Tayyab, kindly check out the description. And to make it in 28mins, my 4-5 hrs of work is there buddy, keeping all UML and code ready. Sorry if you think some part is not clear, kindly check out the dedicated video for it.
Hey, I'm having one doubt -> You told that to avoid the expense for creating the instance, we will use clonning... But in the clonning also, we are using new classname(); to create the object... It is just, it's happening on the different place but what's the difference in this memory wise... It is still creating the object...
Creating an instance is not expensive but creating instance for first time by initializing all requirements like db connection, loading data from db, etc are expensive. Hence, we are cloning (non expensive) rather than again loading data from db (expensive) Hope you understood now.
HI sir I have a doubt. In prototype, we have a complex object expensive to create, thats why we don;t create it but clone it. But in Student class, within the overridden method we created new object with new(); so we are creating the new object with same data, everytime its requested. so its again an expensive process to do and it defeats the purpose of having prototype. I am really confused
Creating an instance is not expensive but creating instance for first time by making like db connection, loading data from db, etc are expensive. Hence, we are cloning (non expensive) rather than again loading data from db (expensive) Hope you understood now
Is the example used in prototype pattern is wrong ? , I mean what is the use of cloning a derived class when its base class have only one function and i.e clone , when returning a derived clone you will only have data of base class because clone function in base class has base class type ?
Hello if u are reading this i really need your help in this video you have mentioned that u have covered singleton design pattern in a previous video in this playlist can u please tell me in which video have u covered the singleton design pattern. Thank u
Thank You so much for the videos.Anyone can understand these videos.Could you please difference between volatile and atomic variables.What happens if we use volatile keyword instead of synchronized method in singleton pattern
Shrayansh: Thank you for your good work. One doubt regarding Prototype, you are mentioning to create separate interface with clone(), and all the subclasses will have to override that. How is this different from Cloneable interface, where we don`t have to create the interface separately, and clone() consistency remains the same in all sub-classes.
Builder Pattern : How can you assign dynamic values in Director while creating objects ? It seems in the video, you have used static values. And for order maintenance, is it really the responsibility of Director ?
can we make getShapeInstance() from the ShapeInstanceFactory class static? so that we can access this method without creating an object for the ShapeInstanceFactory class.
Hi Shrayansh, I have a doubt in the prototype pattern, in the start you have said that we should not create a new object as it is a heavy operation, so we'll clone it using prototype pattern however we still end up creating a new object of the Student class. So how it is solving the purpose ?
In the Prototype pattern, the new object is created by copying (cloning) an existing instance rather than instantiating a new one from scratch. This can be more efficient because cloning can be faster than creating and initializing a new object, especially if the original object has already undergone complex setup or initialization.
Thank you for the amazing content. I have a question on Singleton. I have read everywhere that Singleton pattern is difficult to test. But I am not able to understand the reason behind this. Could you please elaborate and if possible, make a short video on the same?
:) yes and i can guarantee that most of engineers can not solve Singleton design pattern question. In this video i have shared Singleton pattern, in next 2videos i will explain why Singleton is tough
It will give you very good understanding of the low level design, do practice some questions by your hand. Then once you understand the concept, you are good buddy
In prototype design pattern, can't we just write like - Student cloneObj = obj and it will copy all the properties of obj into cloneObj , right or is it not a good practice? Thank you sir for valuable content ❤❤
Thanks a lot for amazing content as always I have a question on prototype use case. Agree that we dont have access to all data members in client code(main function). But what our protoype is doing ? It just adds clone method inside the class and creates new object taking existing object's data as it is. Why not then copy constructor ? Both does not solve the same purpose ?
Very good question Ketan. Understand with this 2 usecase: 1. In your client code, you exactly know the object for which you have to do the clone. Ex: student which we have done. You can also do deep copy constructor. 2. But what if in case of Inheritance, (you have many children classes). And in Client method you have interface Object and you don't know exactly which child constructor you have to call. In that case Prototype pattern helps. So i would say, copy constructor is not scalable, and Prototype Pattern is scalable. Let me know if it clarifies your doubt.
I feel very fortunate. Whenever I am studying LLD, I can stick to this playlist. Thumbs up to the content, such teachings!!
Thanks a lot
Thank you so much Shreyansh, I can't tell you how valuable your videos are. When I am watching your videos, the time simply flies. Keeping audience engaged is an amazing skill in an educational RUclipsr. Keep making great content ❤
Thanks Aniket
Your explanation is too good!
Your content is always far better than other RUclipsrs, keep making more videos .
Thank you
Builder Pattern actually solves the main problem of having multiple constructors for a single entity class. Let's assume a class has 8 data members and you may want to use some data fields at time and not at other times. So for 8 data fields 2^8 constructors are needed to cover all cases. With Builder pattern you dont need these 2^N constructors just use the power of setters and in a final builder() you get the object you want. This is the only purpose of builder pattern , rest other patterns are very well explained . Really loved it ❤ .
true, i have explained it in Builder pattern dedicated video.
This was perfectly wonderful, thanks a whole bunch for posting
thanks
As always top-notch content brother.
Thanks buddy
What exactly i was looking for !! Thanks sir.
Thank you
Thanks for consolidating all the creational design patterns in 1 video! Great way for us to revise all the patterns. Expecting the same for Behavioral and Structural patterns
Thanks
Hare Krishna..! Bhaiya Great Video & effort also..! Please continue.
Thanks you
you did your best..Thanks from BD
bro you made it pretty simple
Ultimate gem🔥🔥🔥
Thanks
@@ConceptandCoding sir one request = > in which senario or situation we should make our object as immutable. I have a doubt in it. if we will make class final , private then how we can achieve SOLID principles. will it be voilating the principles of SOLID ? if it is possible so plse make video on this, sir bze placement is near🙂🙂🙂
@@ConceptandCoding 28 min me 5 patterns mean 5 to 6 mins for each which is very less time. U could have made it in detailed
@@John12685 dedicated detailed video is available Tayyab, kindly check out the description.
And to make it in 28mins, my 4-5 hrs of work is there buddy, keeping all UML and code ready.
Sorry if you think some part is not clear, kindly check out the dedicated video for it.
Hey, I'm having one doubt -> You told that to avoid the expense for creating the instance, we will use clonning... But in the clonning also, we are using new classname(); to create the object... It is just, it's happening on the different place but what's the difference in this memory wise... It is still creating the object...
Creating an instance is not expensive but creating instance for first time by initializing all requirements like db connection, loading data from db, etc are expensive.
Hence, we are cloning (non expensive) rather than again loading data from db (expensive)
Hope you understood now.
Vey nice Session Shreyansh!!! Keep it up :)
Thank you
This is perfect !! Thank you so much 😊
Thank you so much Srayansh..very helpful for us.
Thanks a lot sumit
HI sir I have a doubt.
In prototype, we have a complex object expensive to create, thats why we don;t create it but clone it.
But in Student class, within the overridden method we created new object with new();
so we are creating the new object with same data, everytime its requested.
so its again an expensive process to do and it defeats the purpose of having prototype.
I am really confused
Creating an instance is not expensive but creating instance for first time by making like db connection, loading data from db, etc are expensive.
Hence, we are cloning (non expensive) rather than again loading data from db (expensive)
Hope you understood now
Many thanks for your video !
Thank You Soo Much Sir
Thank you
Great, please create for others design patterns also with one video for structural patterns and one video for behaviour... Thanks in advance
Sure
When I am implementing the Prototype interface with Student class. At that time it is showing CloneNotSupportedException. Why?
Is the example used in prototype pattern is wrong ? , I mean what is the use of cloning a derived class when its base class have only one function and i.e clone , when returning a derived clone you will only have data of base class because clone function in base class has base class type ?
Hello if u are reading this i really need your help in this video you have mentioned that u have covered singleton design pattern in a previous video in this playlist can u please tell me in which video have u covered the singleton design pattern. Thank u
Thank You so much for the videos.Anyone can understand these videos.Could you please difference between volatile and atomic variables.What happens if we use volatile keyword instead of synchronized method in singleton pattern
Shrayansh: Thank you for your good work.
One doubt regarding Prototype, you are mentioning to create separate interface with clone(), and all the subclasses will have to override that. How is this different from Cloneable interface, where we don`t have to create the interface separately, and clone() consistency remains the same in all sub-classes.
Builder Pattern :
How can you assign dynamic values in Director while creating objects ?
It seems in the video, you have used static values.
And for order maintenance, is it really the responsibility of Director ?
Top notch content. Can you share the slides?
hi pls check the description section for the notes link
Singleton using enum where serialization is not required
can we make getShapeInstance() from the ShapeInstanceFactory class static?
so that we can access this method without creating an object for the ShapeInstanceFactory class.
Yes
Which membership I should take to access the notes and code mentioned in this video? There are 3 different memberships listed.
LLD + HLD and Java
Hi Shrayansh,
I have a doubt in the prototype pattern, in the start you have said that we should not create a new object as it is a heavy operation, so we'll clone it using prototype pattern however we still end up creating a new object of the Student class. So how it is solving the purpose ?
In the Prototype pattern, the new object is created by copying (cloning) an existing instance rather than instantiating a new one from scratch. This can be more efficient because cloning can be faster than creating and initializing a new object, especially if the original object has already undergone complex setup or initialization.
How can I download UMLs of all the system design questions u have discussed? There are only java examples present in the github!!
In description section of each video I will add the notes link soon buddy
Thank you for the amazing content.
I have a question on Singleton.
I have read everywhere that Singleton pattern is difficult to test. But I am not able to understand the reason behind this. Could you please elaborate and if possible, make a short video on the same?
:) yes and i can guarantee that most of engineers can not solve Singleton design pattern question.
In this video i have shared Singleton pattern, in next 2videos i will explain why Singleton is tough
Please make similar video for All Behavioural Design Patterns, you can make it partwise.
noted
❤
Can we get a zoho notes link for these as well?
sure will add, i have added gitlab link, in that notes are present
@@ConceptandCoding Thanks a bunch for reverting back super soon!!
This way makes it more handy for revision and this will help us a lot.
Design patterns are language specific? I am planning for doing lld & hld in javascript
If it's oops language, classes and objects definitely go ahead Santosh
Excellent content
hi i am member ,how to see notes for this class i didnt find in member community tab
i will upload the list of notes link again soon
Can I get a copy of the whiteboards for the lectures in this series somewhere. Also awesome content.
Pls check the description, in that I have shared the notes link
Can we also make two more videos on structural and behavioural patterns just like you did for creational :).
Yes will do buddy
Hey lld playlist of basic to advanced is enough to crack lld interviews?
It will give you very good understanding of the low level design, do practice some questions by your hand. Then once you understand the concept, you are good buddy
We can use cloneable for prototype right..
Yes
@@ConceptandCoding by the way great video on the underlying concepts thanks
Please also cover object pool pattern .
@@shagungoyal8354 it's there in the playlist
What is meaning of creating a private getter ?
In prototype design pattern, can't we just write like -
Student cloneObj = obj
and it will copy all the properties of obj into cloneObj , right or is it not a good practice?
Thank you sir for valuable content ❤❤
It will be shallow copy. Means if original object change, prototype object will also change.
Generally good way is deep copy.
@@ConceptandCoding Thanks sir. Doubt cleared. Please make Structural and Behavioral Patterns in 1 video like this.
👍👍
where is the singleton pattern video…..I dont see that in the playlist
in all creational pattern itself i have covered it .
Can anyone where which tool he is using to draw design ?
One note and wacom tab. Pls check the video in "Good to know things" playlist. I have told all the gadgets which i use
Thanks a lot for amazing content as always
I have a question on prototype use case.
Agree that we dont have access to all data members in client code(main function). But what our protoype is doing ? It just adds clone method inside the class and creates new object taking existing object's data as it is. Why not then copy constructor ? Both does not solve the same purpose ?
Very good question Ketan.
Understand with this 2 usecase:
1. In your client code, you exactly know the object for which you have to do the clone. Ex: student which we have done. You can also do deep copy constructor.
2. But what if in case of Inheritance, (you have many children classes).
And in Client method you have interface Object and you don't know exactly which child constructor you have to call. In that case Prototype pattern helps.
So i would say, copy constructor is not scalable, and Prototype Pattern is scalable.
Let me know if it clarifies your doubt.
the Complete LLD and HLD playlist (both BASICS to ADVANCED) details below:
Complete LLD Playlist: ruclips.net/p/PL6W8uoQQ2c61X_9e6Net0WdYZidm7zooW
Complete HLD Playlist: ruclips.net/p/PL6W8uoQQ2c63W58rpNFDwdrBnq5G3EfT7
Java Playlist : ruclips.net/p/PL6W8uoQQ2c63f469AyV78np0rbxRFppkx
For 199, I will get notes of HLD, LLD? Or only videos I will get ?
Both,Video-access-and-notes-in-membership-section
@@YogaNarasimhaEpuri Ty
Need behavioural all in 1 vid
Noted
Please speak Hindi
I think it would have been better, if you explained it in Hindi instead