Abstract Factory is a creational design pattern that lets you produce families of related objects without specifying their concrete classes.
-
Explicitly declare interfaces for each distinct product of the product family -> make all variants of products follow those interfaces
-
Use when your code needs to work with various families of related products, but you don’t want it to depend on the concrete classes of those products
! Abstract Factory classes are often based on a set of Factory Methods ! Abstract Factory specializes in creating families of related objects ! Abstract Factory returns the product immediately