場景: 使用者需要下單美國披薩,中國披薩, 前乙個簡單工廠模式就不是能很好的滿足現在的需求了。
pizza頂級父類
public
abstract
class
pizza
public
void
cut(
)public
void
box(
)public pizza setname
(string name)
}
不同地區,下單的類不一樣,這是所有地區的頂級父類
public
abstract
class
orderpizza
else
}while
(true);
}public string gettype()
}
天津的pizza店
public
class
tjorderpizza
extends
orderpizza
elseif(
"tjgreekpizza"
.equals
(ordertype)
)return pizza;
}}
北京的pizza店
public
class
bjorderpizza
extends
orderpizza
return pizza;
}}
不同的地區需要寫不同pizza類,而且要繼承pizza頂級父類
public
class
bjcheesepizza
extends
pizza
}
設計模式 工廠方法設計模式
模式概述 工廠方法模式又稱工廠模式,屬於類的建立型模式。在工廠方法模式中,父類負責定義建立物件的公共介面,而子類則負責生成具體的物件,這樣做的目的是將類的例項化操作延遲到子類中完成,即由子類決定究竟應該例項化哪乙個類。示例 public class audi extends car public c...
設計模式 工廠方法模式
一 工廠方法 factory method 模式 工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到工廠子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角...
設計模式 工廠方法模式
1 factorymethod.h ifndef factorymethod h define factorymethod h include include using namespace std class osproduct 產品,product,產品的抽象類 class windowspro...