Abstract Factory
Intent
,
Motivation
,
Applicability
,
Structure
, Participants,
Collaborations
,
Consequences
,
Implementation
,
Sample Code
,
Known Uses
,
Related Patterns
Participants
AbstractFactory
(WidgetFactory)
declares an interface for operations that create abstract product objects.
ConcreteFactory
(MotifWidgetFactory, PMWidgetFactory)
implements the operations to create concrete product objects.
AbstractProduct
(Window, ScrollBar)
declares an interface for a type of product object.
ConcreteProduct
(MotifWindow, MotifScrollBar)
defines a product object to be created by the corresponding concrete factory.
implements the AbstractProduct interface.
Client
uses only interfaces declared by AbstractFactory and AbstractProduct classes.
Participants of Abstract Factory,
Adapter
,
Bridge
,
Builder
,
Chain of Responsibility
,
Command
,
Composite
,
Decorator
,
Facade
,
Factory Method
,
Flyweight
,
Interpreter
,
Iterator
,
Mediator
,
Memento
,
Observer
,
Prototype
,
Proxy
,
Singleton
,
State
,
Strategy
,
Template Method
,
Visitor