工厂方法模式、抽象工厂模式区别

工厂方法模式、抽象工厂模式,傻傻分不清楚。

为了解释得更清楚,先介绍两个概念:

  • 产品等级结构:比如一个抽象类是食物,其子类有苹果、牛奶等等,则抽象食物与具体食物名称之间构成了一个产品等级结构。食物是抽象的父类,而具体的食物名称是其子类。
  • 产品族:在抽象工厂模式中,产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品。如 AKitchen 生产的苹果、刀子,苹果属于食物产品等级结构中,而刀子则属于餐具产品等级结构中。而 BKitchen 可能生成另一组产品,如牛奶、杯子。
    因此工厂方法模式、抽象工厂模式最大的区别在于:

工厂方法模式:针对的是 一个产品等级结构。

抽象工厂模式:针对 多个产品等级结构。

吃货们,懂了吧?

posted @ 2022-05-20 19:03  wjxuriel  阅读(436)  评论(0)    收藏  举报