Hi, in this video we have covered #strategy #designPattern out of many design pattern which is asked in Low level system design interview. ➡️ Become a Member: / @conceptandcoding
Пікірлер: 283
@tastaslim Жыл бұрын
Thank you for this tutorial. Just to add, The fundamental of every design pattern is to separate out what changes over period of time from what remains constant. As you see in Strategy pattern, we are trying to separate out dependency of drive from the main class as much as possible by making various strategies to inject it dynamically based on client requirement so that in future if new requirement for drive comes, there will be minimal/no changes in existing code(Open closed Principle).
@niwanshumaheshwari4534 Жыл бұрын
Favour composition over inheritance. Separate what stays the same from what changes. As we are using a new operator, it's a program to an implementation not to an interface. We can use the factory pattern here. Right?
@farukhmahammad9374 Жыл бұрын
@@niwanshumaheshwari4534 using new operator doesn't mean we are programming to an implementation ; it's about how you're using it in relation to abstraction and interfaces. correct me if I'm wrong.
@tastaslim11 ай бұрын
@@niwanshumaheshwari4534 Also you client should be the one who should initialize the class. You can inject your classes using types in static type languages and using type hints in python
@swarajshelavale48302 ай бұрын
Best Explanation ever... You simplified 1 design pattern in just 15mins..Worth it Content!!
@garvitsingh25933 ай бұрын
this guy deserves a lot of respect please continue it ...a legend
@ConceptandCoding3 ай бұрын
thanks
@adityarout1276 Жыл бұрын
If you are looking for C++ code : using namespace std; #include #include using namespace std; class drivestratergy{ public: virtual void drive()=0; }; class normalDrive : public drivestratergy{ public: void drive(){ cout
@nikhilmeena7258 Жыл бұрын
nice
@danishsinghjamwal627 Жыл бұрын
Thanks
@RP-qv9sc Жыл бұрын
thank you so much bro
@nishaaa_maurya Жыл бұрын
Thanks Bhai ❤
@nishaaa_maurya Жыл бұрын
Bro, do you have code of Observer Design Pattern of this lecture.
@noobCoder262 жыл бұрын
I got rejected in an interview because of the lack of knowledge of design pattern. Going to learn from you next time will make a stronger comeback . 💥💥
@ConceptandCoding2 жыл бұрын
thank you, yes let's keep practising.
@nigyban-theallrounder90165 ай бұрын
Did you make a comeback
@anuragshukla42604 ай бұрын
😂😂@@nigyban-theallrounder9016
@Rahulverma-zt3sx4 ай бұрын
bhai comeback hua?
@Sachin-je7ue3 ай бұрын
bhai comeback hua ya nhi ?
@user-og7de8ih4f Жыл бұрын
In laymen terms, In Startegy Design pattern we create an interface and it's different implementation based on strategy !! And inject appropriate startegy in client class by creating constructor or any injection of your choice
@yyajupatel Жыл бұрын
Exactly
@siddharthtripathy39642 ай бұрын
Kya gazab channel hai ye. love his explanation.
@ugempireninjaaaaaahatori67552 ай бұрын
litreally , amazing content , from monday there will be my interviews , if i will get selected than i will defenatly return to this video and comment over this .......amazing one
@kalpeshsaubhri Жыл бұрын
Bhai the best thing I like about your video is breadth you cover and the language hindi. Please keep these 2 things intact
@deepanshukumar3943 Жыл бұрын
That's what we call the way to teach the Patterns. Awesome way to teach with Amazing content. Hats off..
@ConceptandCoding Жыл бұрын
Thanks 👍
@mannusharma46202 ай бұрын
Just day 2 in your playlist and seriously brother hats off!!! Great work....
@unemployedcse351419 күн бұрын
I always vome back to this channel for design patterns and system design ❤
@connectarunkumar2 ай бұрын
You are correct. My interview got scheduled for 3 hrs(F2F) but got finished in 15mins. I felt very bad at that moment. Many times I tried but was not able to catch concepts of design patterns. I always use to think in C with classes. Your Design pattern tutorial is helping me a lot to understand. Converting your code from java to C++ to and understanding the concepts of design patterns. Started learning now. Thanks for explanations.
@shubhamrajput378 ай бұрын
It took me more than an hour to understand this while going through the Head First Book for the same design principle. Should have gone through the video first. Now I am going to use this "strategy", in which I will refer to your video first and then will go through the book
@ConceptandCoding8 ай бұрын
:)
@anuragparla4201 Жыл бұрын
I wish I had this available during my last semester. Design patterns would have been a breeze. Looking forward for more content :)
@ConceptandCoding Жыл бұрын
Thank you. Pls also share it with your connections :)
@umangmalhotra1222 Жыл бұрын
I have finally started going through your , LLD Playlist, and I will comment something on every video after watching. Not always need to be Praise or Learnings from the video.
@ConceptandCoding Жыл бұрын
Thanks Umang, really appreciate it.
@MrBaaz-do9ny2 жыл бұрын
aap bhagwan ho... I have seen almost 5 videos on strategy pattern but this is best till now..
@MrBaaz-do9ny2 жыл бұрын
Also continue in hindi always... its your USP... loved it
@ConceptandCoding2 жыл бұрын
thank you
@pranaypaul636119 күн бұрын
Very good concept focussed way to explain such stuff.
@CodeMode93134 күн бұрын
jeher video paaji
@kartikeyrana3736 Жыл бұрын
Gold mine! Gold mine! Gold Mine! this playlist is a GOLD MINE !!!
@ConceptandCoding Жыл бұрын
Thank you
@AKASHSONI21 Жыл бұрын
Thanks for this. Your way of explaining the concepts is very well and helpful.
@ConceptandCoding Жыл бұрын
Glad it was helpful!
@jinendrajain7672 Жыл бұрын
Awesome Content, I am sure it gonna teach Young Devs alot.
@ConceptandCoding Жыл бұрын
Thanks
@arungoyal37952 жыл бұрын
This is my first comment on youtube , the way explain is amazing....
@ConceptandCoding2 жыл бұрын
thanks a lot
@harshwardhanchougule303921 күн бұрын
Thank you very much for the detailed explanation !!
@mukulkopulwar Жыл бұрын
Great Explanation... Thanks for Sharing 🙂
@ConceptandCoding Жыл бұрын
thank you
@paritoshdadhich295411 ай бұрын
Thank you for the view. Got to know about the when to use and how to use
@ConceptandCoding11 ай бұрын
Thanks
@kashiffiroze50663 ай бұрын
Same can be achieved using @Qualifier annotation of springboot?
@AKASHSONI21 Жыл бұрын
Thanks for this. Your way of explaining the concepts is very explanatory
@shubhamagarwal14343 ай бұрын
Very well explained...awsome!!!
@namanjain248811 ай бұрын
Note for my future reference 5:51 -> at the same level children are using same code , code is not reusable solution -> make the common part as interface type
@abhishekpattnaik8531 Жыл бұрын
Great explanation with simple example. Thanks Shrayansh.
@iamkdblue Жыл бұрын
Jabr jst explanation bro 🎉 - aag laga diya
@ConceptandCoding Жыл бұрын
Thank you
@sameerchoudhary85906 ай бұрын
What a splendid explanation. Thank you
@ConceptandCoding6 ай бұрын
tha
@royalfitness68604 ай бұрын
Great explanation but I would suggest to keep interface name start with I so it will be clear to understand more 😊
@ConceptandCoding4 ай бұрын
noted
@arifurlimon40602 жыл бұрын
Very clear and detailed explanation. Please make more videos in LLD
@ConceptandCoding2 жыл бұрын
Thank you, pls check my LLD playlist Arifur.
@prajwalmahaveera93467 ай бұрын
This explanation was clear and damn helpful. Thanks!
@ConceptandCoding7 ай бұрын
thank you
@rahulgunkar6308 Жыл бұрын
How come this channel has less subscriber?... You deserve more subs bro.. Nicely explained.
@ConceptandCoding Жыл бұрын
Totally relying on you guys:)
@ambersinghrok2 жыл бұрын
bhai bs continue rakhna har cheez...bhut bhu help hojaegi
@ConceptandCoding2 жыл бұрын
sure Amber
@X_y_zaid3 ай бұрын
Such good explanation bro 🙌🏻
@RaviBiradar0802 жыл бұрын
Very well explained with understandable examples👍
@ConceptandCoding2 жыл бұрын
thanks Ravi
@neelanshgulati2643 Жыл бұрын
Great content... Keep making more videos.
@ConceptandCoding Жыл бұрын
thank you
@AshishGusain178 ай бұрын
Thanks for the video..nice explaination
@ConceptandCoding8 ай бұрын
thanks
@ankushladani496 Жыл бұрын
Thank you Bhaiya for this awesome explaination....
@ConceptandCoding Жыл бұрын
Thank you
@grrlgd38352 ай бұрын
it's really frustrating because I just know this would be good but only speak English. tried captions and translate but too confusing. and chance to redub some of these ? great tutorials
@abhaytiwari16152 жыл бұрын
Awesome video. Thanks for uploading.
@ConceptandCoding2 жыл бұрын
thank Abhay
@homestaysandcafes2 жыл бұрын
Sir From my knowledge we cant create objects of interface. But what I am able to analyse from above example is that we can create a has-a relationship using object of interface but we have to define the functions of interface in the class where object is declare?......Do let me know whether I am correct or not? BTW you are creating some GOD level content❤ Please don't stop, I am ready to help you in every possible way.
@ConceptandCoding2 жыл бұрын
let me check the video Hardik and then i will be able to clarify your doubts. But one thing i can tell is this is design pattern video, so pattern defined in this, and class and their relationship will be correct as its well documented.
@SageXperts Жыл бұрын
We are not instantiating the object , but just declaring a variable of that type. And then assigning the value.
@harshinredzone Жыл бұрын
Thanks for sharing knowledge, Shrayansh.
@ConceptandCoding Жыл бұрын
Thanks 🙏
@nishanthmekala1409 Жыл бұрын
Hi Shreyansh, Your videos are awesome. But I would like to know the below things 1. which one we should start first hld or lld? 2. In what way we should learn hld and lld? 3. How to practice these and gain hands on experiene? 4. Is it necessary to take a course after watching your videos? 5. Any order, you would reccomment to follow? Please clear my doubts Shreyansh.
@chiragrajani1606 Жыл бұрын
Do let me know as well, I have the same doubt :/
@FusionArcs Жыл бұрын
You should always go ahead with the LLD first, even some companies don't have this round explicitly but then it assumed you should know these principles already. Then you go HLD. For both of them see videos on a lot of problem use cases. You will be able to grasp these concepts well
@rohitvathumilli81762 ай бұрын
1) Using a Drive Interface with Concrete Implementations 2) Using a Single Drive Class with Behavior Specified in the Constructor Which is better approach
@mayursoni346 Жыл бұрын
Good content - really appreciate your efforts in explaining the concepts. Best wishes,.
@ConceptandCoding Жыл бұрын
Thanks 🙏
@auroshisray9140 Жыл бұрын
Thank you for this tutorial.
@ConceptandCoding Жыл бұрын
Thanks
@lal_140423 күн бұрын
Good explanation, thanks. Just one question, are you using ipad or apple laptop.?
@rajdave7357 Жыл бұрын
❤❤❤❤❤ maza aagaya guru ji
@ConceptandCoding Жыл бұрын
Thank you
@hossainurrahaman2 жыл бұрын
I have a few queries, maybe it will sound childish but I will ask anyway. We know there are 3 types of design patterns. Creational, structural and behavioral. i) Do we need to use all of these three patterns to make a full end to end application? i) If not then Can a single type of pattern handle all of the basic scenarios (creation, responsibility assignment to object etc. iii) is there any pattern which helps more during the interview.
@ConceptandCoding2 жыл бұрын
Hi Rahman, very good question. Let me try to elaborate: - Do we need to use all 3 types of patterns to make an end to end application. Answer is NO. Using Design pattern is not mandatory. You can build system without using any pattern and live with it if system is Readable, Scalable, Manageable etc. You dont need design pattern. Let say for solving one part of the system you need to use some pattern, you can use a pattern from any type not necessary to use pattern from all 3 types. - Single pattern for helping in Interview, thats a tough question, i would say that depend on what question you get in the interview, basics questions can be created through common design patterns like Factory,Structural. But for some specific questions like design logging system, design Notify system we need to know those patterns in advance or come up some clean design during interview itself.
@hossainurrahaman2 жыл бұрын
@@ConceptandCoding thank you for clearing the doubts. So basically during the interview for any particular scenario, I need to start with a design pattern which will suit most with the basic requirements. And need to add any additional design pattern for any new type of requirements. Eg: If asked to create a parking lot system, and if the basic requirements are can have multiple types of cars Can have multiple floor Can have multiple entry exit I can start with something like an abstract factory or factory pattern. If by any chance we need to log these events, we can use singleton pattern. Correct me if I am wrong. Thank you once again for prompt reply.
@_kidrahАй бұрын
Great explanation, one doubt - According to SOLID principles Vehicle should be an interface right?
@paragroy5359 Жыл бұрын
Great video
@ConceptandCoding Жыл бұрын
Thank you
@DemystifyFrontend11 ай бұрын
Great explanation
@ConceptandCoding11 ай бұрын
Thanks
@neha60002 жыл бұрын
Very nice explanation thanks
@nabajyotimajumdar45115 ай бұрын
Splendid video!
@Mohd_Rashid_Siddiqui Жыл бұрын
well explained.
@ConceptandCoding Жыл бұрын
Thanks
@Sandywf7 ай бұрын
nice explanation ... please make a video on UML ,class and sequence diagram
@nikkm20008 ай бұрын
wonderful explanation dear. Just one suggestion(pls correct me if I am wrong), I think we have to give different name like myDrive() instead of drive() in Vehicle class. It will implicitly differentiate method used inside DriverStartegy.
@DataMetricsSolutions2 жыл бұрын
Loved the way explained. Immediately subscribed your channel
@ConceptandCoding2 жыл бұрын
thank you
@theritesh9732 жыл бұрын
Awesome explanation😍
@ConceptandCoding2 жыл бұрын
thank you
@geekydanish59902 жыл бұрын
I am aware of the basics of design pattern and some common principle such (as SOLID, KISS, DRY, etc) as they come into use in writing better code in general but I want to know from an interview perspective how deep one need to go say in my case I have an experience of 1.2 years and going for an interview how low do I need to go and design when it comes to LLD, I was always skeptical about LLD to what extend can we go low, in short, does experience affects the quality of solution or is it just like DSA questions same for everyone. P.S I haven't experienced any such LLD questions so far so if you can clear things here would be really helpful And sorry long explanation 😅
@ConceptandCoding2 жыл бұрын
Hi Danish, i can definitely tell you are good in coding and DSA. And regarding LLD, there is no Level (which you can go deep). Level might be there in HLD where you can go deeper n deeper on one part of the design, like DB design, next level is RDBMS or No SQL then next level is Master slave then next level is Partitioning then sharding etc. But for LLD, its all about how good is your understanding with Objects, from the given problem are you able to identify Actors (objects), then what all features(member variables) it should have and then function. And how these different object interact with each others / what would be their relationship. Thats what Design pattern will help and to identify when and where which design pattern need to apply, that comes with experience or practice. Sorry for the long answer 🙂
@geekydanish59902 жыл бұрын
@@ConceptandCoding Hey Thanks for those kind words, I hear you and it totally make sense specially "identify Actors" and finally relationship , will take those input and start learning/practicing accordingly 🙏
@kashishkukreja7582 Жыл бұрын
Why don't we create Vehicle as an interface and then create 2 more interfaces SprecialCapabilitiesVehicle and NormalCapabilitiesVehicle which extends Vehicle and has default implementation for drive respectively? Now the PassengerCar implements NormalCapabilitiesVehicle and SportsCar and PassengerCar implements SpecialCapabilitiesVehicle.
@amlanroutray28811 ай бұрын
this is because, lets assume, later on another functionality like display() will be added and it would be same for sport cars and passenger car and not in off road car, then we can create similar strategy for display and inject them in vehicle constructor. Adding more interfaces will not be a good scalable option with increase in features.
@tanujarora490611 ай бұрын
As you update and add new features, how many interfaces you will add and how many interfaces you will refactor? That is the reason we should not opt for this.
@kochu748411 ай бұрын
Hi, @conceptandcoding where is the git repo link for the same?
@shubhamnigam14 Жыл бұрын
very good explanation ❤
@ConceptandCoding Жыл бұрын
Glad you liked it
@padmajamahapatra55462 жыл бұрын
Very well explained . Also can you please add other design patterns to this list ..
@ConceptandCoding2 жыл бұрын
Hi, pld do check my LLD playlist, i have added many patterns and will add more soon
@nitishprasadkushwaha Жыл бұрын
useful
@ShivamSingh-mt4nr2 ай бұрын
Thnanks bhaiya
@anketpatel2312 Жыл бұрын
Easily understandable.
@ConceptandCoding Жыл бұрын
Thanks
@naveentmyug8 ай бұрын
very thanks sir
@sanketneema286 Жыл бұрын
Thank you so much shrayansh.
@ConceptandCoding Жыл бұрын
Welcome
@shreyashachoudhary480 Жыл бұрын
Super Clear!
@ConceptandCoding Жыл бұрын
Glad it helped!
@ijazhaider60723 ай бұрын
Brother, Normal Drive Strategy class would implement Drive Strategy that means it has-a relationship but in diagram it is-a relationship. Implements are always has-a and extends are is-a. Am i right or missing something?
@bhanusharma70662 ай бұрын
maza aagya
@aksharbrahm46182 ай бұрын
One concern, Please take a look the arrows in UML diagram while showing parent child relationship arrows are pointing to parent instead of child. I have verified that those should point to child could you please comment on that. Because earlier it was confusing for me..
@user-mg9vx5fo4g Жыл бұрын
Nice explanation
@ConceptandCoding Жыл бұрын
Thank you
@anookimmidisetty2939 Жыл бұрын
@Concept can you share the source code as well ? seems like in your gitlab, there is no code for Strategy design pattern one..
@ConceptandCoding Жыл бұрын
I haven't added that, will add it soon
@ankitkumar-qn3zy6 ай бұрын
Is it not similar to dependency injection? Here we are replacing a method with the interface.
@runtime379 Жыл бұрын
OP content
@ConceptandCoding Жыл бұрын
Thank you
@dhruvsinghal6451Ай бұрын
is a parent class object always capable to be assigned to a child class object, like here drivestrategy is taking on both child objects
@sarthakbhatia763910 ай бұрын
We are using strategic design pattern to share common logic in subclass. Why can't we create a util function instead of following strategic design pattern?
@udaykumar-ib9eg3 ай бұрын
Explain in english. It's good for everyone
@karankaira Жыл бұрын
if base class has many functions then it is violatiing S of SOLID principles ? am i correct
@ConceptandCoding Жыл бұрын
No, for everyone function we can not create a new class. Else we will create another problem called class explosion. We can keep related functions in one class.
@Suraj-tz3oq8 ай бұрын
But what if I have a Vehicle class which is interface like or a class which shouldn't be instantiated
@rishabhsrivastava715915 күн бұрын
how did he create object of an interface ? can anyone explain ?
@JavaLeetcodeDSA2 ай бұрын
i have joined as a member but is not able to get github link for lld videos, how can I access it
@anshulgoel19408 ай бұрын
When the child classes directly create the specific instances of Drive Strategy, aren't they violating the Dependency principle. ?
@ashishmiglani02 Жыл бұрын
Why can we not assign NormalDriveStrategy in the Vehicle class, any how if super constructor is called from child class it will be over writing with the drive strategy provided by the child class. This will be useful to have default drive strategy defined. Suggest issue with this approach ?
@elaserph Жыл бұрын
Cool!!!!
@ConceptandCoding Жыл бұрын
Thanks
@AmanSharma-ht5zq2 жыл бұрын
Thanks
@RahulKumar_gr810 ай бұрын
Drive strategy ka object nahi bro, please call it reference variable. Gets confusing. Interfaces ke objects nahi bante hain
@Mmmmmkoogfssdvbhvggg9 ай бұрын
Why are we not creating an interface for Vehicle?
@namansaraswat96912 жыл бұрын
Good video for strategy design pattern, can you please make a video where you solve a complete lld problem and show usage of strategy design pattern in the solution. If there is any solution you created in lld design that has usage of strategy design please let me know.
@ConceptandCoding2 жыл бұрын
Hi Naman, check Design Parking Lot LLD video, i have used strategy pattern there
@namansaraswat96912 жыл бұрын
@@ConceptandCoding thanks for reply I am just going through that video only😄😀
@chethan45196 ай бұрын
How is drive strategy different from bridge design pattern? We are basically breaking the hierarchy such that we do not have to reuse the code for each possibility rather have it as two different hierarchies, such that they scale better. Is there anything significant which I'm missing?
@ConceptandCoding6 ай бұрын
while both the Bridge and Strategy patterns involve breaking down hierarchies, the Bridge pattern separates abstraction from implementation, allowing them to vary independently, while the Strategy pattern encapsulates a family of algorithms, making them interchangeable. The key difference lies in their intent: Bridge focuses on separating abstraction and implementation, whereas Strategy focuses on encapsulating algorithms.
@chandrabhan599320 күн бұрын
HI Shrayansh, Even for paid users, who has paid subscriptions adds keep coming, Is it possible for you to stop that
@bhavinnasit Жыл бұрын
So many advertisements!!! :(
@vamsi4998 Жыл бұрын
Great explanation. Can you provide the git hub repo link for our reference
@ConceptandCoding Жыл бұрын
I have shared the gitlab link in my Channel home page only Vamsi.