-
Book Overview & Buying
-
Table Of Contents
Learning Python Design Patterns - Second Edition - Second Edition
By :
The main objective of the Abstract Factory pattern is to provide an interface to create families of related objects without specifying the concrete class. While the factory method defers the creation of the instance to the subclasses, the goal of Abstract Factory method is to create families of related objects:

A UML Diagram for the Abstract Factory pattern
As shown in the diagram, ConcreteFactory1 and ConcreteFactory2 are created from the AbstractFactory interface. This interface has methods to create multiple products.
ConcreteFactory1 and ConcreteFactory2 implement AbstractFactory and create instances of ConcreteProduct1, ConcreteProduct2, AnotherConcreteProduct1, and AnotherConcreteProduct2.
ConcreteProduct1 and ConcreteProduct2 are in turn created from the AbstractProduct interface, and AnotherConcreteProduct1 and AnotherConcreteProduct2 are created from the AnotherAbstractProduct interface.
In effect, Abstract Factory patterns make sure that the client is...
Change the font size
Change margin width
Change background colour