設計模式學習(二)——抽象工廠模式

參考書——《HeadFirst設計模式》


定義:提供一個接口,用於創建相關或依賴對象的家族,而不需要明確指定具體類。

要理解抽象工廠,先得理解兩個概念:產品族 &產品等級(這兩個詞,主要用來理解)

http://lavasoft.blog.51cto.com/62575/11674/

點擊在新窗口查看全圖


就用HeadFirst設計模式裏的例子:原料工廠就是一個抽象工廠,紐約原料工廠、芝加哥原料工廠就是上圖的具體工廠,它們都生產蛤蜊、生麪糰、乾酪等(這些就是產品族);紐約臨海,生產新鮮蛤蜊,芝加哥則生產冷凍蛤蜊,新鮮蛤蜊和冷凍蛤蜊就是一個產品等級



抽象工廠和工廠方法的比較:

    都是負責創建對象的。但是:工廠方法利用的是繼承,意味着,用工廠方法創建對象,需要擴展一個類,並實現它的工廠方法;而抽象工廠利用的是對象的組合。可以這麼理解:工廠方法“潛伏”在抽象工廠裏面——抽象工廠的方法經常以工廠方法的方式實現。

     

       最後:當需要創建產品族和想讓製造的相關產品集合起來,可以考慮使用抽象工廠模式。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章