Factory Design Pattern - Why and How with Code!!

  Рет қаралды 95,130

Keerti Purswani

Keerti Purswani

Күн бұрын

Пікірлер: 212
@premanshdewangan8695
@premanshdewangan8695 3 жыл бұрын
Loved the way you explained the concept by taking an example and Step by step writing the code, talking about its disadvantages, and then coming to a solution by demonstrating the importance of Factory Method. Waiting for your upcoming videos.
@tusharjn
@tusharjn 2 жыл бұрын
kzbin.info/aero/PLuO_Xyt86T60SIBUCHCEof_1ggJWH6QsQ
@abdulshahid7173
@abdulshahid7173 2 жыл бұрын
I'm a c++ developer and was struggling to know the concept, believe me this is the best explanation I could find on KZbin. Thanks for the video
@KeertiPurswani
@KeertiPurswani Жыл бұрын
Thank you so much! Means a lot! ❤️
@RaunakShrivastava
@RaunakShrivastava 3 жыл бұрын
There are plenty of resources for Design patterns in java and python on the internet but very few good resources for C++. This Design pattern series is like an oasis in desert for C++ developers. Thank you so much Keerti.
@arjungupta250
@arjungupta250 3 жыл бұрын
A great series to start really since there is so less quality content available on design patterns. Looking forward for next videos! One feedback, I feel many of the beginners must be struggling with the C++ commands to create excutable cpp files and archives or libraries. A brief explanation on those commands in the beginning of the next video or a separate video would really help.
@abhiroopsingh9320
@abhiroopsingh9320 Жыл бұрын
Yes this is highly required as all the commands here are going above my head.
@mahtube735
@mahtube735 3 жыл бұрын
I use this in most of my projects. I didn't know it was called factory method. Thank you for teaching.
@akhilsharma1778
@akhilsharma1778 3 жыл бұрын
Start of much needed series. My interviews are coming up so I don't know how much it will benefit me but this is a great start.
@Shourya_performs
@Shourya_performs 2 жыл бұрын
You have to provide the pre requites to start this series. These things might not be known to everyone, considering myself to be an average student who has studied OOPs in C++. 1. Code in header file. (How to write like #ifndef, etc). 2. Less clarity of how many files already created and why? 3. Everything was overwhelming. Should be slow and creation of files should be shown so that one can follow along. 4. commands needs to be explained of the terminal. Idk about the rest but these are my honest opinions.
@amanasati5198
@amanasati5198 7 ай бұрын
Go first learn and practice OOPs again. All the things were really basics of OOPs
@yogeshbaid6455
@yogeshbaid6455 7 ай бұрын
I agree, I think C++ knowledge is pre-requisite here, it'd have been better if this was explained in Python
@jatinsaini4787
@jatinsaini4787 Жыл бұрын
At 4:25 we see that in our directory we have 6 files, bike.hpp/cpp; car.hpp/cpp; vehicle.hpp/cpp.But upon following the lecture from 1:35 till 4:25 we see that "vehicle.cpp" was never created, we only worked with "vehicle.hpp" throughout the mentioned time-range.What's inside "vehicle.cpp" ? then.Also At 5:10 while creating the library archive "vehicle_library.a", "vehicle.o" was not put into it just like "car.o" and "bike.o" were put. Was it intentional or a miss ? Same happened from 13:55 onwards while creating a library for "smart_client" i.e we didn't put "vehicle.o" into our library.Please shed some light on these points.
@nikhilmittal4378
@nikhilmittal4378 11 ай бұрын
same doubt
@aneeshbose1323
@aneeshbose1323 Ай бұрын
If the object files are not added to the library, just exclude them from the compilation. Since the correct header files are used in car and bike cpp files, it should not be a problem.
@swaathimeiyappan1819
@swaathimeiyappan1819 2 жыл бұрын
Serious ly u have explained the concepts very clear.. till date I was using all this in my code without knowing why.. superb..
@SauravKumar-vj7ks
@SauravKumar-vj7ks 3 жыл бұрын
This was an amazing lecture. Superbly explained, all doubts cleared. Please ma'am explain all the possible design patterns. Really looking forward to this series. 👍
@KeertiPurswani
@KeertiPurswani 3 жыл бұрын
Thank you so much Saurav, means a lot! Please do share the videos with your friends 😇😇
@SauravKumar-vj7ks
@SauravKumar-vj7ks 3 жыл бұрын
@@KeertiPurswani Sure ma'am. Shared the video with all my friends and now you've got a bunch of folks ready to be taught design patterns using C++. Keep up the good work.👍😊
@gouthamzz
@gouthamzz Жыл бұрын
Thank you so much. I have been searching for many tutorials to know about design patterns in c++. I’m lucky that I came across this Vedio. Your explanation is simply superb
@roushanraj8530
@roushanraj8530 2 жыл бұрын
Just waao Di, got it very easily, i have been reading the online vlogs and tutorials and always i was getting confused and not clear to me....., but this video made everything super easy ♥️💯 One request, please complete this Playlist as soon as possible please 🙏 💜
@KeertiPurswani
@KeertiPurswani Жыл бұрын
I am sorry for being so late but I hope the quality pf explanation will make it upto you. Hoping you like the new videos! ❤️
@Sachchin-7
@Sachchin-7 Жыл бұрын
But isn't it still breaking the OpenClose Principle of Design Pattern. because we still need to make change in factory code whenever new vehicle is added!!!
@mdluffy-r6m
@mdluffy-r6m Ай бұрын
Great explanation. Thanks a lot for doing this design pattern series !!
@tusharchaudhary3262
@tusharchaudhary3262 4 ай бұрын
Hi Kriti , I'm learning design patterns for the first time and I found some challenges in your video like you directly moved into the practical implementation and had not tell that for what purpose it is used for..... So I have to go somewhere else to understand that then I come back to your video. So please look into this issue. While the remaining explaination is really good. Thanks
@AnshulSharma-gq2vn
@AnshulSharma-gq2vn Жыл бұрын
Kudos Keerti! This was really good!!
@debajyotimajumder472
@debajyotimajumder472 2 ай бұрын
I came to learn the factory design pattern and learnt how to create archive and object files too!! Wow
@subhashishsen6157
@subhashishsen6157 2 жыл бұрын
What Can I say...Just the one which I wanted..Simple..Crisp..Clear.A Big Thumps UP
@KeertiPurswani
@KeertiPurswani Жыл бұрын
Thank you so much! ❤️😇
@keerthi1070
@keerthi1070 2 жыл бұрын
clarity at peaks :)
@Luckygangff
@Luckygangff 7 ай бұрын
How to delete the object which dynamically created in im confused about deletion, we are having vehicle pointer and object created is different
@cousinskitchentamil596
@cousinskitchentamil596 2 жыл бұрын
Really well explained i have seen multiple videos couldn't grasp the concept but u nailed it thanks a lot please do more video like this
@shankarBinnar-xl8en
@shankarBinnar-xl8en Жыл бұрын
thanks..!! your way of presention is awsome...getting desigin patterns in new and detailed wayy!!😊
@LaveshGarg
@LaveshGarg 11 ай бұрын
short crisp and to the point explanation
@AyushMalik-t3z
@AyushMalik-t3z 4 ай бұрын
Extremely well explained.
@sunitajoshi902
@sunitajoshi902 2 жыл бұрын
I really love the way you explained....thanks for sharing play list.
@srikanthchivukula4555
@srikanthchivukula4555 3 жыл бұрын
Nice explanation. Now i got cleared what factory pattern does.
@shubhamtech89
@shubhamtech89 3 жыл бұрын
With this if else you are polluting the Factory class as well. Imagine adding 10 more type of vehicles tomorrow. You have to maintain a registry of vehicle types added in a kind of hashmap. The key being the vehicle type, the value is the vehicle object.
@hrishikesh328
@hrishikesh328 2 жыл бұрын
Awesome explanation and one of the most simple explanation I have found on the Internet. Please include more videos
@KeertiPurswani
@KeertiPurswani 2 жыл бұрын
Thank you so much! ❤️😇
@snlagr
@snlagr 3 жыл бұрын
This is very underrated, please make more videos in the series. I am sure it will garner more views in the long term! :D
@whynesspower
@whynesspower Жыл бұрын
Atleast 20 different concepts was discussed. Took me 2 hours to complete this tutorial
@cphash
@cphash 3 жыл бұрын
I'm familiar with some design patterns like this, and hence, could follow everything properly. But thinking from a beginner's perspective, it could have been better :) Few observations: 1. The explanation was tightly coupled to C++. A person learning design patterns shouldn't have to start with the library creation approach, that too involving C++ commands. Those are extra details that can be picked up later, if needed. I feel like you could have gone with a more generic and simpler approach, especially since this is the "Simple Factory Pattern". 2. The video was kinda short. An in-depth explanation spanning half an hour would have been better. For instance, a comprehensive explanation could have been provided regarding the object creation approach, i.e., the reason behind doing Base B = new Child() instead of Child C = new Child() and its impacts since this acts as a prerequisite to understanding the factory approach.
@codegame6689
@codegame6689 3 жыл бұрын
Very nice observation and feedback 👍
@archanashetty5250
@archanashetty5250 2 жыл бұрын
Thank you so much, i was struggling to understand this honestly
@nageshpoojary271
@nageshpoojary271 3 жыл бұрын
Nice explanation.. the way you explained the concepts of factory pattern is different than others (through library creation)..hoping for more videos.. for remaining patterns advantages and drawback of using that pattern can also be discussed
@ajaymanagaon
@ajaymanagaon Жыл бұрын
Used it in an Web Application where the application had to handle multiple database or different types. I needed to create the database object depending on the connection string passed.
@prathamsinghal5261
@prathamsinghal5261 Жыл бұрын
I can tell you where Recently I have used this Pattern: I have designed three classes: 1. GkeAgent 2. EksAgent 3. AksAgent Interface: IKubernetesService Implemeted Factory KubernetesServiceFactory. Based on the Properlty file value of the cloud type i am returning the suitable object.
@sunilthind3257
@sunilthind3257 2 жыл бұрын
this is a wonderful video on factory design pattern. loved it
@rishabhkalra9505
@rishabhkalra9505 3 жыл бұрын
i really like the way you explained. The example was not at all complex, simple vehicle objects work like charm. Would love to see a dedicated Design Pattern series which could help someone prep for OOD. Great Content.
@palaktosh2256
@palaktosh2256 3 жыл бұрын
@keerti can you please create videos explaining all design patterns as i don't find many design patterns easy to learn and adapt content. btw great job, you nailed the content on your channel. I am software engineer and currently pursuing masters from ASU and preparing for interviews for SDE2 roles.
@palaktosh2256
@palaktosh2256 2 жыл бұрын
@keerti thank you for responding back and today I hold SD3 offer from Oracle and have started job previous week. Thank you for motivating and influencing Relevant content. Much love 😍
@amitgupta-or5nm
@amitgupta-or5nm 2 жыл бұрын
Awesome video keep making 🔥.
@abhisheksaurabh2007
@abhisheksaurabh2007 2 жыл бұрын
Simple and Nice Explanation , Waiting for New Lectures ,Thanku
@balasubramanyam92
@balasubramanyam92 2 жыл бұрын
Great Explanation ! Keep doing the videos.
@harshitsingh4767
@harshitsingh4767 3 жыл бұрын
I've used Factory design pattern once. I was wondering why we move the same if else logic into another class. Isn't it same.. But now it makes complete sense. We need to abstract the logic from the client code. Thanks !
@KeertiPurswani
@KeertiPurswani 3 жыл бұрын
Yaaaaay!! Thank you! 😇😇 Any constructive feedback? Rest of the tutorials should be like this only?
@harshitsingh4767
@harshitsingh4767 3 жыл бұрын
@@KeertiPurswani Sure, I liked that it does not have any complicated code examples. The intention was just to understand what problem it overcomes and makes our life easier as a developer. And yeah, rest of the tutorials can be like this !
@tanmaythaker2905
@tanmaythaker2905 Жыл бұрын
Thanks for this amazing video!
@rein29233
@rein29233 11 ай бұрын
Very easy to understand. Thank you.
@kartikeyvishnoi2978
@kartikeyvishnoi2978 3 жыл бұрын
Do continue this series! I really appreciate your effort 🙏🙏
@swatiacharya9073
@swatiacharya9073 Жыл бұрын
Nice explanation and thank you fir using c++
@ravitejaag
@ravitejaag Жыл бұрын
Very well explained 👍
@abhimanyubhandari2454
@abhimanyubhandari2454 2 жыл бұрын
Keerti saying "hi guys" is one of the few cutest things I experienced during a day🔥🔥
@tulikasnehil8733
@tulikasnehil8733 3 жыл бұрын
Please make more of such videos explaining all design patterns with examples. This was very helpful
@mayankrai7938
@mayankrai7938 3 жыл бұрын
Such a nice explanation 😌😌 Thank you
@KeertiPurswani
@KeertiPurswani 3 жыл бұрын
Yaaaay! Thank you so much❤️😇
@vasukhungar2517
@vasukhungar2517 2 жыл бұрын
Great explanation. Thankyou :)
@rohitsingh-cn4fg
@rohitsingh-cn4fg 3 жыл бұрын
I have one doubt of this kind of implementation of factory design pattern , I.e this code violate the open and closed principle of SOLID . Because whenever you will be adding new condition in the factory method you will be modifying , but principle says you code should be open for extension and closed for modification. So how could you handle please explain.
@milindmore1977
@milindmore1977 3 жыл бұрын
Really Nice Explanation !
@samartajshaikh2601
@samartajshaikh2601 11 ай бұрын
The very few ones who are explaining these concepts using cpp
@prasadmutnale773
@prasadmutnale773 2 жыл бұрын
Excellent explanation keep growing...
@sandeepsihoria5230
@sandeepsihoria5230 2 жыл бұрын
good explanation mam😊
@harshrajput3547
@harshrajput3547 Жыл бұрын
What have you included in Vehicle.cpp 4:33?
@chevvanthie3422
@chevvanthie3422 3 жыл бұрын
Thanks keerti for sharing .. I'm eagerly waiting for all the videos in lld.
@rosansenapati-pl5hr
@rosansenapati-pl5hr Жыл бұрын
For your upcoming video please zoom into your code so that we can get a clear view of it .... Lots of love ❤️❤️ love your teaching and love your contents
@4444-c4s
@4444-c4s 7 ай бұрын
watched the video but still can't figure it out what's its real usage. I am in the field of web development
@swapnilmishra697
@swapnilmishra697 3 жыл бұрын
U really made whole concept soo easy..thanks alot. One request is it possible to make video on abstract factory. It seems bit difficult for me to understand conceptually. I understand when they give some example but still not able to understand when and where to use
@KeertiPurswani
@KeertiPurswani 3 жыл бұрын
I will cover all the design patterns, please do share the videos with your friends as well 😇😇
@swapnilmishra697
@swapnilmishra697 3 жыл бұрын
@@KeertiPurswani sure I will😊
@tech_wizard9315
@tech_wizard9315 3 жыл бұрын
Please make a detailed video on how to make linkedin profile so strong that recruiters of tech giant's approach freshers (2020passouts) for job openings.
@mangeshjoshi5367
@mangeshjoshi5367 6 ай бұрын
Hi Keerti, the client was still required to call createVehicle which i think could have been handled by the factory itself unless createVehicle is parameterised. Can you please explain why there is distinction between default constructor and createVehicle and what createVehicle is supposed to do?
@kolakalapudinarasimhareddy5260
@kolakalapudinarasimhareddy5260 2 жыл бұрын
Thanks mam until I worked on cpp 98 version.now I started giving interviews.i faced questions on design patterns I don't how they work,how I want use in project ur videos help lot to understand concept and practical Thank u mam a lot please do videos mam
@shubhampokhriyal8491
@shubhampokhriyal8491 3 жыл бұрын
How many total videos will be there in this series??
@mohammedbiaskhan8092
@mohammedbiaskhan8092 3 жыл бұрын
It was Really a good one to start with Design Patterns. Really Looking forward to this series. It would be even more good if you add descriptive things to remember at the middle or end to make a note of it for future reference and also adding interview perspective to this. Thanks Keerti.
@varunguptapy7176
@varunguptapy7176 8 ай бұрын
in first place you have not included vehicle oblect file vehicle.o in the vehicle liberary, you only added car & bike object file to library. Please explain
@ss-md4qn
@ss-md4qn 2 жыл бұрын
Amazing lecture .
@mithunram4324
@mithunram4324 3 жыл бұрын
Hey Keerti just saw this video today and your explanation is pretty neat and understandable. Waiting for other design patterns and lld content
@mr.curious1329
@mr.curious1329 3 жыл бұрын
Di you are doing a great job, pls make more videos .Greatly eager to learn 😊😊👍. Will share these videos too.!!
@raj_soni4007
@raj_soni4007 Жыл бұрын
Thanks for this great explaination
@Pupperoni938
@Pupperoni938 Жыл бұрын
Good explanation, thanks.
@kesarshrivastava1221
@kesarshrivastava1221 2 жыл бұрын
Hi Keerti! Thanks for creating the playlist. If you could show the code in Java too, it would be more helpful.
@souvikbanerjee1396
@souvikbanerjee1396 3 жыл бұрын
Awesome simplified explanation Keerti! 🙂Please continue the series covering major design patterns using c++ code examples. Please give a thought about making a video series on C++ multithreading as well. Many thanks! Keep up the good work. 🙂
@himanshumathur9291
@himanshumathur9291 Жыл бұрын
a very beginner friendly video. Nice explanation. One question - why we are not using the vehicle.o in creating the library ? Thanks in advance.
@suryamoymondal754
@suryamoymondal754 Жыл бұрын
Nicely explained .
@amitkrishna5004
@amitkrishna5004 3 жыл бұрын
Great Lecture
@poorvajas6600
@poorvajas6600 2 жыл бұрын
Great explanation and a great series. Thanks for all the efforts. Why did you stop this series though :(
@KeertiPurswani
@KeertiPurswani Жыл бұрын
I know I am super late but never stopped, had a lot going on in personal life. Uploaded the new video today and hoping to finish the series super soon. Hope you like the video!
@anmolsoni2704
@anmolsoni2704 2 жыл бұрын
Hey Keerti, I just watched the video and I was able to get the concepts and advantages that you talked about in the video but I struggled with the implementation part cuz most of the things were completely new for me. So, could you please suggest any resources for learning the implementation of libraries and header files in c++?
@pratikshar1662
@pratikshar1662 7 ай бұрын
Why haven't we used vehicle.o while compiling the library?
@gopaly3990
@gopaly3990 3 жыл бұрын
Thanks Keerti for this tutorial. But I felt like only c++ dev could relate more. If possible please use some generic, interpreted, languages like python or js so that people with little programming knowledge would also be able to follow. Please consider my request and continue the good work. Waiting for your next tutorial 🙂
@aaaaz424
@aaaaz424 Жыл бұрын
The bike and car are stored in a vehicle reference. What if there are functions which are not present in vehicle class but are present in bike or car class (not talking about overridden functions)?
@varunguptapy7176
@varunguptapy7176 8 ай бұрын
Please also made video for rest patterns mainly behavioral once like strategy pattern..
@arjundixit298
@arjundixit298 3 жыл бұрын
Amazing stuff!
@rishabhgupta734
@rishabhgupta734 11 ай бұрын
I believe in the last code example the vehicle objects are actually getting created in the factory method getVehicle method. The name of the funtion in bike and car classes should be changed from create vehicle to something else.
@santhoshreddy1284
@santhoshreddy1284 2 жыл бұрын
thank you.. it helps us a lot. where can I find the code? did you upload in the git hub? can you please share the code paths?
@MasumAhmed-fg8bc
@MasumAhmed-fg8bc 3 жыл бұрын
Few points needs to make clear. 1. Why that factory class is made static if not then what would happen? In real world scenrio is it done like this? 2. More examples related to real work. The content length is good. Keep that but make it more advanced with focusing on low level design. 👍
@TakamiWoodshop
@TakamiWoodshop 2 жыл бұрын
The factory class is _not_ static - that was clarified several times in the video. Only the getVehicle() method is static. If it was not, you would have to create an instance of the factory before you could use the getVehicle() method.
@p.n.7309
@p.n.7309 3 жыл бұрын
So perfectly explained, so that any newbie can get it. Not only the oattern , you also explained some language terms and their importance(sg-static). Awaiting for all the design pattern videos. Thanks a lot.
@DurgaShiva7574
@DurgaShiva7574 3 жыл бұрын
thanks for this video. but.. whenever we make any changes in our factory class (say we add bus class), then we do need to recompile the whole factory class, as well as ask client to update the factory jar which they are using.. so is there any way to overcome this as well in this design pattern ??
@mrutunjaysingh4363
@mrutunjaysingh4363 3 жыл бұрын
You can use dynamic library (dll/.so files), I think that should work.
@santoshs4393
@santoshs4393 Жыл бұрын
Thanks for the nice explaination. One query: In this pattern, whose responsibility is it to destroy the created vehicle object ?
@mehtalovish76
@mehtalovish76 3 жыл бұрын
Really great content. I will just request you to release other lectures soon, so that the continuity doesn't breaks. Thank you for sharing your knowledge..
@ichbinshiv
@ichbinshiv 2 жыл бұрын
This is The Simple Factory pattern, not The Factory Design pattern. "The Simple Factory isn’t actually a Design Pattern; it’s more of a programming idiom." according to Head First Design Patterns. In addition, the use cases for the Simple Factory and Factory methods are not the same. The Factory method uses inheritance to provide a common framework; it does more than merely create objects.
@arunprabhu123
@arunprabhu123 Жыл бұрын
excellent explaination..
@KeertiPurswani
@KeertiPurswani Жыл бұрын
Thank you so much! 😇
@poojaguru2516
@poojaguru2516 3 жыл бұрын
Simple explanation 😀
@KeertiPurswani
@KeertiPurswani 3 жыл бұрын
Thank you so much, means a lot 😇😇
@krishnamurali5933
@krishnamurali5933 2 жыл бұрын
Can you help understand what code went inside vehicle.cpp?
@mapradnardev
@mapradnardev 2 жыл бұрын
If in future there is a need to add new vehicle type then developer needs to change in existing library.Doesnt it violates the Open/closed principle?
@nirmalyamisra
@nirmalyamisra 2 жыл бұрын
Thanks🙂
@sarkarsh5537
@sarkarsh5537 3 жыл бұрын
hooollyyy molly this is so well explained! cannot wait for the the rest of the series be up. Please keep upload such awesome content. Much needed video.
@nitishkumar-m7r6p
@nitishkumar-m7r6p 5 ай бұрын
Could you please help me understand what is there in vehicle.cpp file
@CSKnowledge007
@CSKnowledge007 2 ай бұрын
Is this simpleFactory or factory method design pattern?
Singleton Design Pattern | Implementation with details & code ✌🏻
21:09
Adapter Design Pattern | Explanation with Code in Easy Way! ✌🏻
19:04
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 901 М.
Factory Method Pattern - Design Patterns (ep 4)
27:21
Christopher Okhravi
Рет қаралды 558 М.
The Most Important Design Pattern in React
35:04
Cosden Solutions
Рет қаралды 115 М.
The Pattern You MUST Learn in .NET
20:48
Nick Chapsas
Рет қаралды 94 М.
Strategy Pattern - Design Patterns (ep 1)
35:11
Christopher Okhravi
Рет қаралды 1,5 МЛН
The Factory Pattern in Python // Separate Creation From Use
14:58
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН