What is the Factory Pattern? | Software Design Principles

  Рет қаралды 27,012

Be A Better Dev

Be A Better Dev

Күн бұрын

The factory pattern is one of the most popular design patterns. Factories help us delegate the responsibility of object creation to a dedicated object. Through polymorphism, we can further enhance this pattern. In this video, I define and discuss the utility of the Factory pattern and how it applies to software design. I also demonstrate the pattern through an easy to follow example.
Become a Better Developer Using the Courses I Recommend Below:
- Master FAANG Coding Interviews - bit.ly/3CVgRN9
- Learn AWS From Scratch - bit.ly/3gasoAm
- Master Python here - bit.ly/3yJFJpI
Buy Head First Design Patterns Here: amzn.to/36r8aJT
📚 MY RECOMMENDED READING LIST FOR SOFTWARE DEVELOPERS📚
Clean Code - amzn.to/37T7xdP
Clean Architecture - amzn.to/3sCEGCe
Head First Design Patterns - amzn.to/37WXAMy
Domain Driver Design - amzn.to/3aWSW2W
Code Complete - amzn.to/3ksQDrB
The Pragmatic Programmer - amzn.to/3uH4kaQ
Algorithms - amzn.to/3syvyP5
Working Effectively with Legacy Code - amzn.to/3kvMza7
Refactoring - amzn.to/3r6FQ8U
🎙 MY RECORDING EQUIPMENT 🎙
Shure SM58 Microphone - amzn.to/3r5Hrf9
Behringer UM2 Audio Interface - amzn.to/2MuEllM
XLR Cable - amzn.to/3uGyZFx
Acoustic Sound Absorbing Foam Panels - amzn.to/3ktIrY6
Desk Microphone Mount - amzn.to/3qXMVIO
Logitech C920s Webcam - amzn.to/303zGu9
Fujilm XS10 Camera - amzn.to/3uGa30E
Fujifilm XF 35mm F2 Lens - amzn.to/3rentPe
Neewer 2 Piece Studio Lights - amzn.to/3uyoa8p
💻 MY DESKTOP EQUIPMENT 💻
Dell 34 inch Ultrawide Monitor - amzn.to/2NJwph6
Autonomous ErgoChair 2 - bit.ly/2YzomEm
Autonomous SmartDesk 2 Standing Desk - bit.ly/2YzomEm
MX Master 3 Productivity Mouse - amzn.to/3aYwKVZ
Das Keyboard Prime 13 MX Brown Mechanical- amzn.to/3uH6VBF
Veikk A15 Drawing Tablet - amzn.to/3uBRWsN
🌎 Find me here:
Twitter - / beabetterdevv
Instagram - / beabetterdevv
Patreon - Donations help fund additional content - / beabetterdevv
#FactoryPattern
#DesignPatterns
#SoftwareEngineer

Пікірлер: 59
@ThuyNguyen-bu9ge
@ThuyNguyen-bu9ge 2 жыл бұрын
The factory pattern helps us to NOT repeat logic all over the place - there is one and only one place to create a new object. So if that new object some day needs new parameters or less parameters, then we don't need to change our code all over the place. We need to only update the Factory where the new object is created.
@IUfidi
@IUfidi 2 жыл бұрын
nice.
@dovias5665
@dovias5665 3 жыл бұрын
Why doesn't this have more views? That's premium content.
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Thank you so much for your kind words Dovias!
@2810quocviet
@2810quocviet Жыл бұрын
What a great video. After watching the video several times I've finally grasped the core concept.
@frederickjavalera558
@frederickjavalera558 2 жыл бұрын
Great content! Did you ever get around to creating the second video on the abstract factory pattern that you mentioned at the end of this video?
@frotes
@frotes 3 жыл бұрын
Nice video. Would be interested in seeing the composition version you mentioned. I feel composition is the way to go for most things in OOP
@rezazaman1714
@rezazaman1714 2 жыл бұрын
Excellent, it made my understanding clear on Factory Method. Waiting for your next video on Abstract Factory Pattern.
@jedgraves8399
@jedgraves8399 Жыл бұрын
Super helpful. Thank you!
@nitinakash3275
@nitinakash3275 3 жыл бұрын
Great contact.. Waiting for the second part
@hafsahmr9010
@hafsahmr9010 3 жыл бұрын
The coding part really helps! Thank you so much! Would appreciate a video on Abstract Factory.
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Coming soon!
@AmrMekkawy
@AmrMekkawy 2 жыл бұрын
Great clear explanation
@ganesh221b
@ganesh221b 2 жыл бұрын
Thanks a lot Daniel, your videos are great!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks Ganesh! Glad you enjoy them :)
@ihabhadjerci5238
@ihabhadjerci5238 2 жыл бұрын
Great content thank you so much, I definitely subscribed, I have a question, what if we have added the ItalianStore Class and we give the user the right the store in the main class how would you know which Store will be choose and how would you handle it since we don't wanna to expose instantiation to client
@ThuyNguyen-bu9ge
@ThuyNguyen-bu9ge 2 жыл бұрын
Very crisp, clear voice. Good teaching! Would you make a video about why we need the factory pattern - what problems the factory pattern is addressing?
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Hi Thuy, I see from your recent comment you figured out the value of this pattern! You hit the nail on the head :)
@MrUnknowntraveller
@MrUnknowntraveller 2 жыл бұрын
What blackboard tool are you using? Nice clear explanation. Thank you.
@misoren9645
@misoren9645 Жыл бұрын
I still didn't get it. Isn't the main problem described as "violating the Open/Close Principle"? If we were to add a new kind of Pizza Type, we still would need to modify the if/else type block anyways, so how did creating all that new logic helped to solve the problem if it's still there anyways. Great content though.
@ayingtorres5938
@ayingtorres5938 3 жыл бұрын
This is an awesome channel!
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Thanks Aying! Really appreciate the kind words.
@ranjithaan5825
@ranjithaan5825 2 жыл бұрын
did I miss the second part of Factory design pattern you have mentioned anywhere? could you please paste the link if you have posted on second part? thanks
@smirkedShoe
@smirkedShoe 3 жыл бұрын
Great clarification 👏. Do we have a SOLID principles playlist ? I couldn't find it
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Hi Naman! Not yet but this is a great suggestion!
@Preotasherpa
@Preotasherpa 2 жыл бұрын
Thank you so much.
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're welcome Tahsin!
@parthshah438
@parthshah438 2 жыл бұрын
could you please provide link for abstract factory deisgn pattern video as you have mentioned in video?
@avanthasiriwardana
@avanthasiriwardana 2 жыл бұрын
Good stuffs brother. Liked and Subscribed :)
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thank you and welcome to the channel!
@GEhehloopf
@GEhehloopf Жыл бұрын
Could you go over the Visitor Design Pattern?
@kais.alkotamy9798
@kais.alkotamy9798 16 күн бұрын
quite an amazing course, I just want to say something that I wish it could be added which is how to approach using one of them "the use cases"
@user-rz1jc4fv2j
@user-rz1jc4fv2j Күн бұрын
reply and close
@insightsacademy4214
@insightsacademy4214 2 жыл бұрын
Very helpful
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks!
@aaa4363
@aaa4363 Жыл бұрын
Thanks!
@BeABetterDev
@BeABetterDev Жыл бұрын
Thank you so much!!!
@lorenzoferri7876
@lorenzoferri7876 2 жыл бұрын
In the last part, when you describe the NYPizzaStore, you break the Open / Close principle anyway, right? wouldn't it be better and optimal to split It in two other classes (NYPepperoniPizzaStore and NYCheesePizzaStore)? I hope you clarify my question. Congratulations on the great video!
@alsonyang230
@alsonyang230 Жыл бұрын
Second this question. Wouldn't the NYPizzaStore still violates O/C principle if there is a NYStyleHamPizza added? Does having the factory abstract class do any better than the simple factory class?
@kshitizkumar2793
@kshitizkumar2793 Жыл бұрын
If the branching logic is still there in the second approach, doesn't it still violate the open close principle ?
@IUfidi
@IUfidi 2 жыл бұрын
Good. Liked. Subscribed.
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thank you and welcome to the channel!
@PoojaSharma-vt9xs
@PoojaSharma-vt9xs 2 жыл бұрын
Really very clear explanation.
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks Pooja!
@zemusic2736
@zemusic2736 3 жыл бұрын
like your content, friend
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Thank you very much!
@alex-dk2rj
@alex-dk2rj 2 жыл бұрын
I'm confused because there is thousands of variations of toppings on new york pizza, so is this method practical for this example? Wouldn't you have thousands of classes?
@uzayrsyed6293
@uzayrsyed6293 6 ай бұрын
Shouldn't all these methods be outside of the Pizza class pizza.prepare(), pizza.bake(), pizza.cut(), pizza.box(), createPizza() and instead maybe be in the Factory?
@mirzaaqeel
@mirzaaqeel 3 жыл бұрын
Good material, can not see git hub link for the code you used in the example.
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Hi Muhammad, check out this link for the code repository: github.com/beabetterdevv/DesignPatterns/tree/master/patterns I still have plans to create the remainder videos, stay tuned in the next few months.
@nehapandit1987
@nehapandit1987 2 жыл бұрын
Is the Second part of this is ready?
@johnyonardpauly5601
@johnyonardpauly5601 2 жыл бұрын
Dude, this looks like a paid udemy course. Thank you for this!
@saedyousef
@saedyousef 2 жыл бұрын
This channel is so underrated ...
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks Saed, I'm glad you think so :)
@jakubrysiak3612
@jakubrysiak3612 2 жыл бұрын
Why do you need the order method, since all it seems to do is call the create method?
@sagartyagi2450
@sagartyagi2450 2 жыл бұрын
Isn't it simple Inheritance?? Why are we calling it a pattern?
@GustavoRubio
@GustavoRubio 2 жыл бұрын
Midterm in 25 minutes boys. Time to set these videos to X2 speed
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Hope you did well!
What is the Singleton Pattern? (Software Design Patterns)
10:16
Be A Better Dev
Рет қаралды 7 М.
Factory Method Pattern - Design Patterns (ep 4)
27:21
Christopher Okhravi
Рет қаралды 529 М.
ОДИН ДОМА #shorts
00:34
Паша Осадчий
Рет қаралды 6 МЛН
Маленькая и средняя фанта
00:56
Multi DO Smile Russian
Рет қаралды 2,9 МЛН
ISSEI funny story😂😂😂Strange World | Magic Lips💋
00:36
ISSEI / いっせい
Рет қаралды 122 МЛН
What is the Command Pattern? (Software Design Patterns)
19:55
Be A Better Dev
Рет қаралды 16 М.
10 Design Patterns Explained in 10 Minutes
11:04
Fireship
Рет қаралды 2,1 МЛН
Factory Design Pattern - Why and How with Code!!
15:35
Keerti Purswani
Рет қаралды 73 М.
Here’s a More Pythonic Factory Pattern
23:18
ArjanCodes
Рет қаралды 98 М.
The Factory Pattern in Python // Separate Creation From Use
14:58
System Design: What is 3 tier architecture?
9:55
Be A Better Dev
Рет қаралды 94 М.