Intent - Define an interface for creating objects but let
subclasses decide which class to instantiate and how.
Problem -
A system should be independent of how its products are
created.
Solution - Provide a
Participants and Collaborators
AbstractFactory
ConcreteFactory
Product
ConcreteProduct
Factory is similar to Abstract Factory and Factory Method, but
it is simpler. The pattern defines a Factory which makes the
Products, and that is the sole responsibility of the class.
We will discuss some of the differences as we come to the other two
patterns.