【本文思路來源:https://www.runoob.com/design-pattern/abstract-factory-pattern.html】
下面例子中鼠標,鍵盤,耳麥為產品,惠普,戴爾為工廠。
簡單工廠:
場景:
一個工廠,生產一款產品,可以有多種不同型號,
實現:
工廠類:根據條件調用產品接口創建不同型號產品實例),
產品接口:創建產品
實現類:不同型號產品實現產品接口
image.png
工廠模式:
場景:
一個產品,有多個工廠分別創建不同型號產品
實現:
廠商接口:創建產品
各不同型號的生產廠家類:實現廠商接口,調用產品接口創建響應產品
產品接口:創建產品
實現類:不同型號產品實現產品接口
image.png
抽象工廠模式:
場景:
多個產品,每個產品對應多個不同型號
實現:多個工廠,每個工廠分別生成所有商品的一個型號,具體:
虛擬工廠:抽象生成不同產品方法
對應不同型號的工廠們:繼承虛擬工廠,調用產品接口創建對應型號產品
產品接口:創建產品
實現類:不同型號產品實現產品接口
image.png