抽象工廠模式(Abstract Factory Pattern)是圍繞一個超級工廠創(chuàng)建其他工廠。該超級工廠又稱為其他工廠的工廠。這種類型的設(shè)計(jì)模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。
在抽象工廠模式中,接口是負(fù)責(zé)創(chuàng)建一個相關(guān)對象的工廠,不需要顯式指定它們的類。每個生成的工廠都能按照工廠模式提供對象。

步驟 1:
為形狀創(chuàng)建一個接口。

步驟 2
創(chuàng)建實(shí)現(xiàn)接口的實(shí)體類。

正方形

矩形

圓形
步驟 3
為顏色創(chuàng)建一個接口。

步驟4
創(chuàng)建實(shí)現(xiàn)接口的實(shí)體類。

紅色

綠色

藍(lán)色
步驟 5
為 Color 和 Shape 對象創(chuàng)建抽象類來獲取工廠。

步驟 6
創(chuàng)建擴(kuò)展了 AbstractFactory 的工廠類,基于給定的信息生成實(shí)體類的對象。

步驟 7
創(chuàng)建一個工廠創(chuàng)造器/生成器類,通過傳遞形狀或顏色信息來獲取工廠。

步驟 8
使用 FactoryProducer 來獲取 AbstractFactory,通過傳遞類型信息來獲取實(shí)體類的對象。

步驟 9
驗(yàn)證輸出
