Posted on 2008-07-22 17:22
sailor 閱讀(147)
評論(0) 編輯 收藏 所屬分類:
模式
定義
提供一個接口,用于創建相關或相依賴對象的家族,而不需要明確指定具體類。
原則
依賴抽象,而不要依賴具體類
實用性
1,一個系統應當不依賴于產品類實例被創立,組成,和表示的細節。這對于所有形態的工廠模式都是重要的。
2,這個系統的
產品有多于一個的產品族。
3,
同屬于同一個產品族的產品是設計成在一起使用的。這一約束必須得在系統的設計中體現出來。
角色

圖1. 抽象工廠模式的類圖定義 |
從上圖可以看出,簡單工廠模式涉及到以下的角色
抽象工廠(AbstractFactory)類或接口
擔任這個角色的是工廠方法模式的核心,它是與應用程序無關的。任何在模式中創立對象的工廠類必須實現這個接口,或繼承這個類。
實工廠類 (Conrete Factory)
擔任這個角色的是與應用程序緊密相關的,直接在應用程序調用下,創立產品實例的那樣一些類。
抽象產品 (Abstract Product)
擔任這個角色的類是工廠方法模式所創立的對象的父類,或它們共同擁有的接口。
實產品 (Concrete Product)
擔任這個角色的類是工廠方法模式所創立的任何對象所屬的類。
實例

抽象工廠模式應用于小花果園系統中。三種不同的背景顏色可以區分工廠類,蔬菜類(第一產品族),和水果類的類圖(第二產品族)