三种工厂模式比较

工厂方法模式:

  • 一个抽象产品类,可以派生出多个具体产品类。
  • 一个抽象工厂类,可以派生出多个具体工厂类。
  • 每个具体工厂类只能创建一个具体产品类的实例。

抽象工厂模式:

  • 多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。
  • 一个抽象工厂类,可以派生出多个具体工厂类。
  • 每个具体工厂类可以创建多个具体产品类的实例。

区别:

  • 工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。例如麦当劳汉堡有很多种, 如麦辣鸡腿堡、香辣鸡腿堡、田园鸡腿堡、巨无霸。
  • 工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。 两者皆可。

results matching ""

    No results matching ""