1.首先,三者創造的對象不同。
創建對象時,“工廠模式”不使用new創建對象,而是使用工廠模式;“工廠方法模式”通過fw模式建立對象;抽象工廠使用叠代模式創建對象。
2.其次,三者的定義變量不同。
“工廠模式”可用於隨時設置變量,無需提前設置。在繼續下壹步操作之前,您需要在工廠方法模式中使用已定義的變量,如參數或配置文件。“抽象工廠”需要在每次添加產品時修改類方法。
3.最後,它們之間的接口數量不同。“工廠模式”可以使用兩個接口和三個接口,而“工廠方法模式”只能使用壹個接口。抽象工廠可以使用無限數量的接口。
擴展數據:
工廠方法模式的優缺點
1優勢:
工廠類包含必要的判斷邏輯,可以決定何時創建產品類的實例,客戶端可以免除直接創建產品對象的責任,只“消費”產品。這樣,工廠方法模式實現了職責分工。
當產品具有復雜的多級分層結構時,工廠類只有自身,以不變應萬變是模型的缺點。因為工廠類集中了所有的產品創建邏輯,壹旦它無法正常工作,整個系統都會受到影響。
2.缺點:
很難擴展系統。壹旦增加新產品,工廠邏輯將不得不修改,這可能導致工廠邏輯過於復雜,違反“打開-關閉”原則(OCP)。此外,工廠方法模式通常使用靜態工廠方法,這使得它無法被子類繼承,導致工廠角色無法基於繼承形成層次結構。
百度百科-工廠模式
百度百科-工廠方法模式
百度百科-抽象工廠