設計模式(四)—— 工廠模式

工廠模式一般分爲三種:簡單工廠, 工廠方法, 抽象工廠

簡單工廠

簡單工廠模式又叫靜態工廠方法模式,是通過專門定義一個類負責創建其他類的實例, 被創建的實例通常都具有共同的父類。

簡單工廠將對象的創建過程進行了封裝,用戶不需要知道具體的創建過程,只需要調用工廠類獲取對象即可。

工廠類的寫法是通過switch-case或if-else來判斷對象的創建過程,是個具體的類,並非接口抽象類。

缺點是擴展性查,新增一種產品都需要修改工廠方法;不同的產品需要不同額外參數的時候 不支持。

工廠方法模式

工廠方法模式定義了一個創建對象的接口,但由子類決定要實例化的類是哪一個。工廠方法讓類把實例化推遲到子類。通過子類來創建對象,將客戶從具體的類型中解耦

抽象工廠模式

抽象工廠模式提供一個接口,用於常見相關或依賴對象的家族,而不需要明確指定具體類。當你需要創建產品家族和想讓製造的相關產品集合起來時,可以使用抽象工廠。

 

所有工廠都是用來封裝對象的創建。

工廠方法使用繼承:把對象的創建委託給子類,子類實現實現工廠方法來創建對象。

抽象工廠使用對象組合:對象的創建被實現在工廠接口所暴露出來的方法中。

抽象工廠創建相關的對象家族,而不需要依賴他們的具體類。

 

設計模式之工廠方法模式

設計模式之抽象工廠模式

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