簡單工廠:
工廠模式:簡單工廠,工廠方法,抽象工廠三種. 工廠方法(力求簡潔)
工廠即為生產東西的地方.在c#也有這種模式,充分利用了物件導向語言的三大特徵(多型,繼承),簡單工廠.工廠的功能就是生產,而生產些什麼呢?乙個工廠可以生產鞋子,生產衣服.它們所處的車間不一樣,所以需要兩個不同的類,這兩個類繼承工廠生產這個功能.(簡單工廠)
工廠方法,簡單工廠的高階版.那麼對比簡單工廠,工廠方法強在**?
對比:簡單工廠中只有工廠是抽象的,也就是說只有這個工廠只有這麼一處可變的.工廠方法中,會有兩處可變的,①工廠的抽象類②產品的抽象類.其次在工廠方法中產品的具體實現也是往後推,在簡單工廠中產品實現是在工廠的抽象類中,在工廠方法中,產品的實現推到了產品的抽象類中.
工廠方法的優點:能夠很好的新增一樣新產品,不用破壞邏輯,(簡單工廠中,需要新增case語句),在工廠方法中再新增乙個產品以及相對應的工廠即可
介紹完畢,上乾貨
工廠介面
**注意方法的返回型別,是產品介面
publicabstract
class
ifactory
產品介面
publicabstract
class
ithing
鞋子產品類(包含產品的具體實現)
publicclass
shoesclass : ithing
}
鞋子工廠(不包含產品的實現)
publicclass
shoesfactory : ifactory
}
控制台
classprogram
}
工廠方法模式 工廠方法模式
工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...
工廠方法模式 工廠方法模式 二
工廠方法模式是對簡單工廠的進一步抽象和封裝,需要新的類物件時不需要對既有工廠類進行修改,而是增加新的工廠類。工程類可以使用模版進一步封裝,由編譯器來生成 從而減少 編寫工作量。工廠方法的 c 實現01part產品抽象基類class animal virtual void show 0 02part產...
C 工廠方法模式 抽象工廠模式
設計原則 要依賴抽象,不要依賴具體類 簡單工廠模式雖然簡單,但存在乙個很嚴重的問題。當系統中需要引入新產品時,由於靜態工廠方法通過所傳入引數的不同來建立不同的產品,這必定要修改工廠類的源 將違背 開閉原則 如何實現增加新產品而不影響已有 工廠方法模式應運而生,本文將介紹第二種工廠模式 工廠方法模式。...