1、簡介 和簡單工廠模式不同,核心工廠類不再負責所有產品的創建,而是將具體創建的工作交給子類去做,成為一個抽象工廠角色,僅負責給出具體工廠類必須實現的接口,而不接觸哪一個產品類應當被實例化這種細節。工廠方法模式可以允許很多具體工廠類從抽象工廠類中將創建行為繼承下來,從而可以成為多個簡單工廠模式的綜合,進而推廣了簡單工廠模式。
2、使用場景及能解決的問題 一個系統要獨立于它的產品的創建、組合和表示時 一個系統要由多個產品系列中的一個來配置時 當你要強調一系列相關的產品對象的設計以便進行聯合使用時 當你提供一個產品類庫,而只想顯示它們的接口而不是實現時
3、類圖
4、實例
首先看看工廠類:
接下來看看工廠相關的實現類:
產品類:
產品相關的實現類:
最后看看客戶端的相關類:
5、優缺點
完全支持“開-閉”原則,如果需要增加一個新的產品,需要向系統中加入一個這個產品類以及相應的工廠類,沒有必要修改客戶端。
posted on 2008-05-28 13:58 云淡風清 閱讀(245) 評論(0) 編輯 收藏 所屬分類: Design Patterns
Powered by: BlogJava Copyright © 云淡風清