什麼是工廠方法模式?
定義乙個用於建立物件的介面,讓子類決定例項化哪個類。
在任何需要生成複雜物件的地方,都可以使用工廠方法模式。用new就可以完成的建立無需要使用工廠方法模式。
工廠方法四大模組:
抽象工廠角色(abstractfactory)
具體工廠角色(concretefactory)
抽象產品角色(abstractproduct)
具體產品角色(concreteproduct)
這個和下乙個模式抽象工廠方法模式裡是一樣的,都有四類角色。
工廠方法的應用
結合例子來分析吧,汽車廠生產汽車吧,這個模式下假如我們的需求沒有那麼大,我們只生產國產的東風汽車。他有搭配輪胎和引擎的方法吧。
東風車廠類:
public
inte***ce idongfengfactory
public
class
dongfengfactory
implements
idongfengfactory
}
東風汽車類:
public
inte***ce idongfengcar
public
class
dongfengcar
implements
idongfengcar
public
void
createengine()
}
主類呼叫:
public
static
void
main(string args)
執行結果:
我是輪胎
我是引擎
至此一輛東風車就造好了,零件搭配齊全。
總的來說。工廠方法設計還是很實用的,**系統結構清晰,將要生產的產品具體細節操作封裝起來,使用者只關心呼叫介面就是,不用擔心他汽車怎麼造的過程。
但是工廠方法模式也有不好的地方就是我們要引入新的產品,比如新增加進口汽車就要重新寫的產品類,還要引入新的介面,從而導致整體檔案多起來了。
工廠方法模式 應用最廣
工廠方法模式 應用最廣 定義乙個用於建立物件的介面,讓子類決定例項化哪個類。在任何需要生成複雜物件的地方,都可以使用工廠方法模式。用new就可以完成的建立無需要使用工廠方法模式。工廠方法四大模組 抽象工廠角色具體工廠角色抽象產品角色具體產品角色。這個和下乙個模式抽象工廠方法模式裡是一樣的,都有四類角...
應用最廣泛的模式 工廠方法模式
定義乙個建立物件的介面,讓子類決定例項化哪個類。當a物件需要呼叫b物件的方法時,可以使用new關鍵字來建立乙個b例項,然後呼叫b例項的方法,這種做法的壞處在於 a類的方法直接呼叫了b類的類名 這種方式也被稱為硬編碼耦合 一旦系統需要重構 需要使用c類來代替b類時,程式不得不改寫a類 如果應用中有10...
建立型模式 工廠方法模式
目錄 1.工廠方法模式概述 1.1 工廠方法模式概念 1.2 工廠方法模式類圖 2.工廠方法模式實現原理 3.工廠方法模式優缺點 3.1 優點 3.2 缺點 又稱為虛擬構造器 virtual constructor 模式或多型模式,屬於建立型模式。在工廠方法模式中,父類負責定義建立物件的公共介面,而...