C 工廠模式 工廠方法

2022-04-09 19:19:43 字數 949 閱讀 5606

簡單工廠:

工廠模式:簡單工廠,工廠方法,抽象工廠三種.   工廠方法(力求簡潔)

工廠即為生產東西的地方.在c#也有這種模式,充分利用了物件導向語言的三大特徵(多型,繼承),簡單工廠.工廠的功能就是生產,而生產些什麼呢?乙個工廠可以生產鞋子,生產衣服.它們所處的車間不一樣,所以需要兩個不同的類,這兩個類繼承工廠生產這個功能.(簡單工廠)

工廠方法,簡單工廠的高階版.那麼對比簡單工廠,工廠方法強在**?

對比:簡單工廠中只有工廠是抽象的,也就是說只有這個工廠只有這麼一處可變的.工廠方法中,會有兩處可變的,①工廠的抽象類②產品的抽象類.其次在工廠方法中產品的具體實現也是往後推,在簡單工廠中產品實現是在工廠的抽象類中,在工廠方法中,產品的實現推到了產品的抽象類中.

工廠方法的優點:能夠很好的新增一樣新產品,不用破壞邏輯,(簡單工廠中,需要新增case語句),在工廠方法中再新增乙個產品以及相對應的工廠即可

介紹完畢,上乾貨

工廠介面

**注意方法的返回型別,是產品介面

public

abstract

class

ifactory

產品介面

public

abstract

class

ithing

鞋子產品類(包含產品的具體實現)

public

class

shoesclass : ithing

}

鞋子工廠(不包含產品的實現)

public

class

shoesfactory : ifactory

}

控制台

class

program

}

工廠方法模式 工廠方法模式

工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...

工廠方法模式 工廠方法模式 二

工廠方法模式是對簡單工廠的進一步抽象和封裝,需要新的類物件時不需要對既有工廠類進行修改,而是增加新的工廠類。工程類可以使用模版進一步封裝,由編譯器來生成 從而減少 編寫工作量。工廠方法的 c 實現01part產品抽象基類class animal virtual void show 0 02part產...

C 工廠方法模式 抽象工廠模式

設計原則 要依賴抽象,不要依賴具體類 簡單工廠模式雖然簡單,但存在乙個很嚴重的問題。當系統中需要引入新產品時,由於靜態工廠方法通過所傳入引數的不同來建立不同的產品,這必定要修改工廠類的源 將違背 開閉原則 如何實現增加新產品而不影響已有 工廠方法模式應運而生,本文將介紹第二種工廠模式 工廠方法模式。...