Abstract Factory
The Abstract Factory Pattern usually defines the interfaces of a collection of factory methods, without specifying concrete products. This allows an entire factory to be replaceable, in order to produce different products following the same production outline:
The details of the products (components) are omitted from the diagram, but do notice that these products belong to two parallel families: ExperimentalRocket
and FreightRocket
.
Different from the Factory Method Pattern, the Abstract Factory Pattern extracts another part called client that take cares of shaping the outline of the building process. This makes the factory part focused more on producing each component.
Participants
The participants of a typical Abstract Factory Pattern implementation include the following:
Abstract factory:
RocketFactory
Defines the industrial standards of a factory which provide interfaces for manufacturing components or complex products.
Concrete factory:
ExperimentalRocketFactory
,FreightRocketFactory...