模式概述:工廠方法模式又稱工廠模式,屬於類的建立型模式。在工廠方法模式中,父類負責定義建立物件的公共介面,而子類則負責生成具體的物件,這樣做的目的是將類的例項化操作延遲到子類中完成,即由子類決定究竟應該例項化哪乙個類。
**示例:
public
class
audi
extends
car
}
public
class
bmwextends
car
}
工廠介面及實現類:
public
inte***ce createcar
public
class
factoryaudi
implements
createcar
}
public
class
factorybmw
implements
createcar
}
總結:工廠方法模式和簡單工廠模式的主要區別是,簡單工廠模式是把建立汽車的職能都放在乙個類裡面,而工廠方法模式則把不同的產品放在實現了工廠介面的不同工廠類裡面,這樣就算其中乙個工廠類出了問題,其他工廠類也能正常工作,互相不受影響,以後增加新產品,也只需要新增乙個實現工廠介面工廠類,就能達到,不用修改已有的**。
但工廠方法模式也有他侷限的地方,那就是當面對的產品有複雜的下級分類的時候,例如,汽車有很多的型號,每種汽車都或許配有空調或者不同的發動機等等。如果用工廠方法模式來設計這個產品系統,就必須為每個型號的產品建立乙個對應的工廠類,當有數百種甚至上千種產品的時候,也必須要有對應的上百成千個工廠類,對於以後的維護來說,簡直又是一場災難。
後面的抽象工廠設計模式可以解決這種問題。
設計模式 工廠方法模式
一 工廠方法 factory method 模式 工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到工廠子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角...
設計模式 工廠方法模式
1 factorymethod.h ifndef factorymethod h define factorymethod h include include using namespace std class osproduct 產品,product,產品的抽象類 class windowspro...
設計模式 工廠方法模式
框架的基礎知識 對框架的理解 框架和設計模式的關係 工廠方法模式 定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,factory method使乙個類的例項化延遲到其子類。結構 產品 public inte ce product 具體產品 public class productimpl...