The Abstract Factory design pattern
The Abstract Factory design pattern is a creational design pattern from the GoF. We use creational patterns to create other objects, and factories are a very popular way of doing that.
We use factories to create complex objects that can’t be assembled automatically by a dependency injection library. There’ll be more on that in the next chapter.
Goal
The Abstract Factory pattern is used to abstract the creation of a family of objects. It usually implies the creation of multiple object types within that family. A family is a group of related or dependent objects (classes).
Let’s think about creating automotive vehicles. There are multiple vehicle types, and there are multiple models and makes for each type. We can use the Abstract Factory pattern to model this sort of scenario.
The Factory Method pattern also focuses on creating a single type of object instead of a family. We only cover Abstract Factory...