1
我對設計模式比較陌生,並在我正在開發的項目中使用GangOfFour抽象工廠模式。我想知道引入一個叫做FileName的字符串屬性的最好方法,它是混凝土工廠生產的所有抽象產品所需要的。我會將屬性添加到抽象工廠
將它添加到抽象工廠接口,以便它必須在樹中實現並傳遞到返回的產品的構造函數。即使該界面只關心創建工廠?
我將使用一段GoF .Net Optomised代碼來使用一個示例,因爲任何學習這些模式的人都會熟悉它,並且可能在將來提供一個很好的參考點。
/// <summary>
/// The 'AbstractFactory' interface.
/// </summary>
interface IContinentFactory
{
// Define property in here??
IHerbivore CreateHerbivore();
ICarnivore CreateCarnivore();
}
/// <summary>
/// The 'ConcreteFactory1' class.
/// </summary>
class AfricaFactory : IContinentFactory
{
// Implement property in here??
public IHerbivore CreateHerbivore()
{
return new Wildebeest(PassInPropertyHere??);
}
public ICarnivore CreateCarnivore(PassInPropertyHere??)
{
return new Lion();
}
}
謝謝,多數民衆贊成我正在尋找。我不喜歡混淆工廠的想法,但不確定這樣做是否可以接受。 – Cragly 2010-01-04 10:23:08