1.意圖
提供一個建立一系列相關或者互相依賴對象的接口,而無須制定其他具體的類。也就是說有一組工廠,他們都生産互相依賴的對象,是以他們可以抽出一個抽象工廠。
2.别名
kit
3.動機
比如有一個奶制品工廠,有好幾個産品線,比如有豆奶産品線,有牛奶産品線等等。這個時候就可以使用這個模式。或者說設計一個論壇的樣式,有windows風格,有macos風格等等。
4.适用性
• 一個系統要獨立于它的産品的建立、組合和表示時。
• 一個系統要由多個産品系列中的一個來配置時。
• 當你要強調一系列相關的産品對象的設計以便進行聯合使用時。
• 當你提供一個産品類庫,而隻想顯示它們的接口而不是實作時。
5.優缺點
有利于維護不同的産品線,但是當你要增加新産品的時候,就非常的麻煩。
6.圖例
這裡以論壇為例
[img]/upload/attachment/104806/4a377959-b4c5-3d11-bc6e-ebe2d8c01c0c.jpg[/img]