【本文思路来源:https://www.runoob.com/design-pattern/abstract-factory-pattern.html】
下面例子中鼠标,键盘,耳麦为产品,惠普,戴尔为工厂。
简单工厂:
场景:
一个工厂,生产一款产品,可以有多种不同型号,
实现:
工厂类:根据条件调用产品接口创建不同型号产品实例),
产品接口:创建产品
实现类:不同型号产品实现产品接口
工厂模式:
场景:
一个产品,有多个工厂分别创建不同型号产品
实现:
厂商接口:创建产品
各不同型号的生产厂家类:实现厂商接口,调用产品接口创建响应产品
产品接口:创建产品
实现类:不同型号产品实现产品接口
抽象工厂模式:
场景:
多个产品,每个产品对应多个不同型号
实现:多个工厂,每个工厂分别生成所有商品的一个型号,具体:
虚拟工厂:抽象生成不同产品方法
对应不同型号的工厂们:继承虚拟工厂,调用产品接口创建对应型号产品
产品接口:创建产品
实现类:不同型号产品实现产品接口