Design Patterns -- Abstract Factory

The intent of Abstract Factory is to provide for the creation of a family of related, or dependent, objects. see pic:

Additional note is below:( reference from http://www.dofactory.com) : 

  • AbstractFactory  (ContinentFactory)
    • declares an interface for operations that create abstract products
  • ConcreteFactory   (AfricaFactory, AmericaFactory)
    • implements the operations to create concrete product objects
  • AbstractProduct   (Herbivore, Carnivore)
    • declares an interface for a type of product object
  • Product  (Wildebeest, Lion, Bison, Wolf)
    • defines a product object to be created by the corresponding concrete factory
    • implements the AbstractProduct interface
  • Client  (AnimalWorld)
    • uses interfaces declared by AbstractFactory and AbstractProduct classes

 using the term: 产品族(Product Family),the former pic is like:

 Design Patterns -- Abstract Factory_第1张图片

 

In this pattern, speaking loosely, a package is usually a "family" of classes, and an abstract factory produces a "family" of objects. 

 

 

你可能感兴趣的:(Design Patterns -- Abstract Factory)