工廠方法模式實際上是簡單工廠的一種延伸模式,屬於類的建立型模式又被稱為多型工廠模式 。
工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面。
下面來看結構圖(摘自 程杰 大話設計模式 )
下面來看**:
1、水果介面 和 水果工廠介面
// 水果介面
public inte***ce fruit
// 水果工廠介面
public inte***ce fruitfactory
2、具體水果
//蘋果
public void getname()
}//香蕉
public class banana implements fruit
}
3、具體水果工廠
// 蘋果工廠
public fruit getfruit()
}// 香蕉工廠
public class bananafactory implements fruitfactory
}
4、使用
public static void main(string args)
總結:
工廠方法是對簡單工廠進一步抽象化,使得工廠方法模式可以使系統在不修改具體工廠角色的情況下引進新的產品。遵循開發-封閉原則。
設計模式學習 工廠方法模式
工廠方法模式,定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到了其子類。之前的簡單工廠模式雖說也非常好,但是在新增和更改生產選項的時候,不得不更改switch和case語句,這點違背了設計模式的開方 封閉的原則。工廠方法模式,既克服了簡單工廠違背開方 封閉原則的缺...
學習設計模式 工廠方法模式
說明 工廠方法跟簡單工廠的區別在於簡單工廠方法在構造的時候,通過判斷輸入引數,例項化不同車物件,而工廠方法新增不同車的工廠,客戶端在呼叫的時候控制例項化哪個車工廠。需求 跟簡單工廠模式一樣,要開不同的車 解決方式 a.乙個開車父類,定義乙個開車方法 b.分別定義子類開奧迪車 開賓士車 開寶馬車 繼承...
設計模式學習 工廠方法模式
設計六大原則 簡單工廠模式 上篇學習了簡單工廠模式,簡單工廠模式的優點就是工廠類封裝具體物件的實現邏輯,會根據外部傳入的選擇條件來判斷返回對應的具體物件,也就是呼叫者無需關心內部實現邏輯,只需傳入所需物件的型別即可,同樣的缺點也很明顯,如果要通過工廠類的獲取所需的具體物件,必須在工廠類中的靜態方法先...