Factory Design Pattern - Why and How with Code!!
Вставка
- Опубліковано 17 чер 2024
- It’s the most common one - I have actually used it at work many times😎
I haven’t recorded the next video yet, waiting for your feedback. Please do let me know how you find the whole video- example, code - would you like me to change anything?
Always wanted to teach this, it’s finally happening 🤞😇
𝐂𝐡𝐞𝐜𝐤𝐨𝐮𝐭 𝐂𝐫𝐢𝐨 𝐚𝐧𝐝 𝐠𝐞𝐭 𝟏𝟎% 𝐝𝐢𝐬𝐜𝐨𝐮𝐧𝐭 𝐮𝐬𝐢𝐧𝐠 𝐭𝐡𝐢𝐬 𝐥𝐢𝐧𝐤-
www.crio.do/redeem/a39d540/
You can get 𝐃𝐈𝐒𝐂𝐎𝐔𝐍𝐓𝐒 using code "KEERTI" -
➡️ On 𝐂𝐨𝐝𝐢𝐧𝐠 𝐍𝐢𝐧𝐣𝐚𝐬 - bit.ly/CodingNinjas-12
➡️ On 𝐈𝐧𝐭𝐞𝐫𝐯𝐢𝐞𝐰𝐑𝐞𝐚𝐝𝐲 - get.interviewready.io/?_aff=K...
➡️ On 𝐄𝐝𝐮𝐜𝐚𝐭𝐢𝐯𝐞 - educative.io/keerti
➡️ On all 𝐆𝐞𝐞𝐤𝐬𝐅𝐨𝐫𝐆𝐞𝐞𝐤𝐬 paid courses - practice.geeksforgeeks.org/co...
Please 𝐬𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞 here - / keertipurswani
You can also connect with me on-
𝐈𝐧𝐬𝐭𝐚𝐠𝐫𝐚𝐦 (for not so professional, chill side of my life) - keerti.purs...
𝐓𝐞𝐥𝐞𝐠𝐫𝐚𝐦 Channel - t.me/keertipurswani
𝐓𝐰𝐢𝐭𝐭𝐞𝐫 - KeertiPurswani?s=09
𝐋𝐢𝐧𝐤𝐞𝐝𝐈𝐧 - / keertipurswani
𝐂𝐡𝐞𝐜𝐤 𝐨𝐮𝐭 𝐭𝐡𝐞𝐬𝐞 𝐩𝐥𝐚𝐲𝐥𝐢𝐬𝐭𝐬-
𝐌𝐨𝐜𝐤 𝐈𝐧𝐭𝐞𝐫𝐯𝐢𝐞𝐰𝐬 - • Mock Coding Interview ...
𝐃𝐞𝐬𝐢𝐠𝐧 𝐏𝐚𝐭𝐭𝐞𝐫𝐧𝐬 -
• Intro to Design Patter...
𝐃𝐒𝐀 - • Median of 2 Sorted Arr...
𝐃𝐲𝐧𝐚𝐦𝐢𝐜 𝐏𝐫𝐨𝐠𝐫𝐚𝐦𝐦𝐢𝐧𝐠 - • Burst Balloon Problem ...
𝐇𝐨𝐧𝐞𝐬𝐭 𝐂𝐨𝐧𝐯𝐞𝐫𝐬𝐚𝐭𝐢𝐨𝐧𝐬 -
• Meet Hiring Manager at...
𝐂++ - • VTable & VPointers - V...
𝐁𝐚𝐬𝐢𝐜𝐬 𝐨𝐟 𝐈𝐧𝐯𝐞𝐬𝐭𝐦𝐞𝐧𝐭𝐬 - • What are IPOs? How to ...
𝐋𝐢𝐟𝐞 𝐚𝐭 𝐈𝐧𝐭𝐮𝐢𝐭 - • Meet my Manager at Int...
𝐒𝐡𝐨𝐫𝐭𝐬 - • Floor, Ceil use for Pr...
𝐂++ 𝐒𝐓𝐋 - • What is C++ STL? Why d...
𝐓𝐫𝐞𝐞𝐬 & 𝐆𝐫𝐚𝐩𝐡𝐬 - • BFS, DFS|Explanation w...
𝐖𝐢𝐭𝐡 𝐏𝐚𝐩𝐚 - • Explaining OOPs concep...
𝐒𝐲𝐬𝐭𝐞𝐦 𝐃𝐞𝐬𝐢𝐠𝐧 - • Factory Design Pattern...
𝐏𝐚𝐢𝐧𝐭𝐢𝐧𝐠𝐬 - • Wall Art | SwitchBoard...
𝐕𝐥𝐨𝐠𝐬 - • Best Ladakh Bike Trip ...
The video contains following parts-
0:00-0:23 - Intro
0:23-0:53 - Crio Promotion
0:53-1:33 - Example task
1:33-4:20 - Code for example
4:20-7:34 - Code works!
7:34-9:30 - Why we need factory
9:30-13:11 - Factory Code
13:11-14:40 - Code works with factory!
14:40-15:24 - Recap!
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.
ua-cam.com/play/PLuO_Xyt86T60SIBUCHCEof_1ggJWH6QsQ.html
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.
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.
I use this in most of my projects. I didn't know it was called factory method.
Thank you for teaching.
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.
Yes this is highly required as all the commands here are going above my head.
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. 🙂
I really love the way you explained....thanks for sharing play list.
thanks..!! your way of presention is awsome...getting desigin patterns in new and detailed wayy!!😊
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
I'm a c++ developer and was struggling to know the concept, believe me this is the best explanation I could find on UA-cam. Thanks for the video
Thank you so much! Means a lot! ❤️
Kudos Keerti! This was really good!!
This is very underrated, please make more videos in the series. I am sure it will garner more views in the long term! :D
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.
Do continue this series! I really appreciate your effort 🙏🙏
this is a wonderful video on factory design pattern. loved it
Serious ly u have explained the concepts very clear.. till date I was using all this in my code without knowing why.. superb..
Hey Keerti just saw this video today and your explanation is pretty neat and understandable. Waiting for other design patterns and lld content
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
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.
Thanks for this amazing video!
short crisp and to the point explanation
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.
Go first learn and practice OOPs again. All the things were really basics of OOPs
I agree, I think C++ knowledge is pre-requisite here, it'd have been better if this was explained in Python
Please make more of such videos explaining all design patterns with examples. This was very helpful
Nice explanation. Now i got cleared what factory pattern does.
Thanks for such amazing content
Great Explanation ! Keep doing the videos.
Thank you so much, i was struggling to understand this honestly
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. 👍
Thank you so much Saurav, means a lot! Please do share the videos with your friends 😇😇
@@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.👍😊
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 🙏 💜
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! ❤️
Awesome explanation and one of the most simple explanation I have found on the Internet. Please include more videos
Thank you so much! ❤️😇
Great explanation. Thankyou :)
Very easy to understand. Thank you.
clarity at peaks :)
Di you are doing a great job, pls make more videos .Greatly eager to learn 😊😊👍. Will share these videos too.!!
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
Really Nice Explanation !
Thanks for this great explaination
Simple and Nice Explanation , Waiting for New Lectures ,Thanku
Nice explanation and thank you fir using c++
Thanks keerti for sharing .. I'm eagerly waiting for all the videos in lld.
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..
Amazing stuff!
Very well explained 👍
Good explanation, thanks.
Awesome video keep making 🔥.
Amazing lecture .
Excellent explanation keep growing...
Great Lecture
Nicely explained .
Hi Keerti! Thanks for creating the playlist. If you could show the code in Java too, it would be more helpful.
What Can I say...Just the one which I wanted..Simple..Crisp..Clear.A Big Thumps UP
Thank you so much! ❤️😇
Thanks for the videos
Such a nice explanation 😌😌 Thank you
Yaaaay! Thank you so much❤️😇
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++?
@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.
@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 😍
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.
good explanation mam😊
good Explanation
Best one !!
Well explained!!! Looking forward for more videos on design patterns. It will be good if you improve the video quality more.
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
Atleast 20 different concepts was discussed. Took me 2 hours to complete this tutorial
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
Hi Keerti,
Great explanation.
I see some of createFactory classes include around 7-10 constructor arguments and pass the exact same or 1-2 more arguments to create the underlined class. It is little tightly coupled because does not give flexibility to accept new type of class in factory method, is this correct approach? To refactor, I think I can use ClassName as parameter in createFactory, and there will be additional 7-10 constructor arguments passed along.
Thanks🙂
excellent explaination..
Thank you so much! 😇
Thank you very much for all your C++vedios. The videos are of great value. But, I still have question on factory design pattern.
With the VehicleFactory class introduced , we are making smartclient independent as the code for any new vehicle needs to be implemented in VehicleFactory. However, dependent library for smart client is changing and that needs to be delivered to client everytime a change is made right........
Where as without vehicleFactory client.exe should be rebuild by changing all the dependent libraries.
My question is in anycase client gets a new deliverable right....
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?
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
I will cover all the design patterns, please do share the videos with your friends as well 😇😇
@@KeertiPurswani sure I will😊
Simple explanation 😀
Thank you so much, means a lot 😇😇
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?
Please also made video for rest patterns mainly behavioral once like strategy pattern..
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.
Thanks
a very beginner friendly video. Nice explanation. One question - why we are not using the vehicle.o in creating the library ? Thanks in advance.
Hi Keerthi, rather than going with the bookish / standard definition you have explained in in simple terms so that even novice programmer can understand. but I have a query here , you said that whenever there is a change in the requirement from the client we need to change the library and give it back to the client, I mean when client needs TEMPO vechile, we need to change the library and give it to him right ??
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.
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.
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 !
Yaaaaay!! Thank you! 😇😇
Any constructive feedback? Rest of the tutorials should be like this only?
@@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 !
Nice explanation. But don't you think the if-else branching in your factory method will violate the Open Closed principle ?
Thanks for the nice explaination. One query: In this pattern, whose responsibility is it to destroy the created vehicle object ?
Please make more videos in this playlist
Great explanation and a great series. Thanks for all the efforts. Why did you stop this series though :(
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!
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.
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.
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.
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.
How to delete the object which dynamically created in im confused about deletion, we are having vehicle pointer and object created is different
The very few ones who are explaining these concepts using cpp
Tq superb
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.
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
Hi keerti,
I seen this factory design pattern video in that you create factory for separation of vehicle type. We can do that in stored procedure pass car, bike,truck, bus and get only those record and get faster execution can you give one more real time example
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 ??
You can use dynamic library (dll/.so files), I think that should work.
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?
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)?
Nice
Keerti saying "hi guys" is one of the few cutest things I experienced during a day🔥🔥
I haven't found a link which point to code what we covered int this video, plz share code as well.
What have you included in Vehicle.cpp 4:33?