- Abstract Factory is especially useful when a client expects to receive a family of related objects at a given time, but don't have to know which family it is until run time. Here is the scenario we'll be using. We'll first build a pet factory whose concrete factories include Dog factory and Cat factory. Both dog and cat factories produce related products such as dog food and cat food.
At least in theory our solution, Abstract Factory, consists of Abstract factory, Concrete factory, Abstract product, and Concrete product. For the Abstract factory we use pet factory in our example. For concrete factory we use dog factory and cat factory in our example. And finally for the concrete product we'll be creating the dog, which is a pet, and the dog food, and also cat and the cat food.
We implement our Abstract Factory without using inheritance, mainly because Python is a dynamically typed language and therefore does not require abstract classes. Abstract Factory is related to factory method and the concrete factories are often singletons.
Author
Released
7/16/2015- Understanding design patterns
- Best design practices: consistency, completeness, and correctness
- Working with creational patterns
- Working with structural patterns
- Working with behavioral patterns
Skill Level Intermediate
Duration
Views
Q: In the strategy pattern example, why does the code keep executing the default function rather than the alternate?
A: The programming demonstration skips the step of defining what the strategy pattern should be when an alternate function name is provided
as an argument as shown below.
Related Courses
-
PHP: Design Patterns
with Keith Casey1h 9m Intermediate
-
Introduction
-
Welcome34s
-
-
1. Understanding Design Patterns
-
What is a design pattern?2m 18s
-
Types of design patterns1m 47s
-
-
2. Creational Patterns
-
Factory48s
-
Factory example6m 44s
-
Abstract factory1m 24s
-
Abstract factory example5m 23s
-
Singleton57s
-
Singleton example5m 32s
-
Builder1m 44s
-
Builder example4m 34s
-
Prototype58s
-
Prototype example6m 2s
-
-
3. Structural Patterns
-
Decorator51s
-
Decorator example4m 23s
-
Proxy1m 7s
-
Proxy example5m 19s
-
Adapter37s
-
Adapter example5m 54s
-
Composite1m 14s
-
Composite example4m 56s
-
Bridge1m 12s
-
Bridge example4m 46s
-
-
4. Behavioral Patterns
-
Observer1m 1s
-
Observer example7m 27s
-
Visitor48s
-
Visitor example6m 59s
-
Iterator1m 9s
-
Iterator example4m 10s
-
Strategy37s
-
Strategy example6m 1s
-
-
5. Design Best Practices
-
Consistency2m 18s
-
Other qualities2m 42s
-
-
Conclusion
-
Next steps28s
-
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.
CancelTake notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.
Share this video
Embed this video
Video: Abstract factory