螺產品生產的例項(實現)必須依靠工廠裡邊的方法去實現。
定義:定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。
主要解決:主要解決介面選擇的問題。
何時使用:我們明確地計畫不同條件下建立不同例項時。
如何解決:讓其子類實現工廠介面,返回的也是乙個抽象的產品。
關鍵**:建立過程在其子類執行。
**:1. 零件工廠需要螺絲, 然後螺絲生產工廠 開了一條流水線,讓製造螺絲,輸出螺絲。(注意上下的繼承關係)
2. 注意,螺絲工廠接到任務後他才開始製造螺絲的。(螺絲生產工廠是工具機工廠的子類)這就是所說的建立過程延遲到子類進行。
// controller
工廠 *obj = [螺絲工廠 new];
零件 = [obj product螺絲];
// 螺絲工廠
-(零件) product螺絲()
1. 通過物件組合建立抽象產品
2. 建立多個系列產品
3. 必須修改父類的介面才能支援新的產品
設計模式 設計模式之工廠模式
工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...
c 設計模式 之 工廠模式之 工廠模式
1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...
設計模式 工廠模式之簡單工廠模式
定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...