抽象工厂模式 Abstract factory

definition:


Provide an interface for creating families of related or dependent objects without specifying their concrete classes.

提供一个创建一系列相关活相互依赖对象的接口,而无需指定他们具体的类。(G4)
Frequency of use:   high

UML图:

participants

    The classes and/or objects participating in this pattern are:

  • 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

示例代码

猜你喜欢

转载自eason8.iteye.com/blog/1246912