簡單工廠
螺產品生產的實例(實現)必須依靠工廠裏邊的方法去實現。
工廠模式
定義:定義一個創建對象的接口,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創建過程延遲到子類進行。
主要解決:主要解決接口選擇的問題。
何時使用:我們明確地計劃不同條件下創建不同實例時。
如何解決:讓其子類實現工廠接口,返回的也是一個抽象的產品。
關鍵代碼:創建過程在其子類執行。
圖解:
1. 零件工廠需要螺絲, 然後螺絲生產工廠 開了一條流水線,讓製造螺絲,輸出螺絲。(注意上下的繼承關係)
2. 注意,螺絲工廠接到任務後他纔開始製造螺絲的。(螺絲生產工廠是機牀工廠的子類)這就是所說的創建過程延遲到子類進行。
// controller
工廠 *obj = [螺絲工廠 new];
零件 = [obj product螺絲];
// 螺絲工廠
-(零件) product螺絲() {
製造螺絲 *_螺絲 = [製造螺絲 new];
零件 = [_螺絲 開始製造];
return 零件 ;
}
抽象工廠
1. 通過對象組合創建抽象產品
2. 創建多個系列產品
3. 必須修改父類的接口才能支持新的產品