接上文:設計模式
-簡單工廠 http://www.shnenglu.com/gaimor/archive/2011/05/02/145498.html 簡單工廠是根據傳入要求決定生產那類產品,其工廠只有一個
在簡單工廠基礎之上,如果一個工廠對應一個產品則形成了工廠方法
interface Product
{
public void Call();
};
public class Product1 implements Product
{
public void Call()
{}
};
public class Product2 implements Product
{
public void Call()
{}
};
interface ProductFactory
{
public Product GetProduct();
};
public class ProductFactory1 implements ProductFactory
{
public Product GetProduct()
{
return new Product1();
}
}
public class ProductFactory2 implements ProductFactory
{
public Product GetProduct()
{
return new Product2();
}
}
這樣使用
ProductFactory factory1 = new ProductFactory1();
Product p1 = factory1.GetProduct();
ProductFactory factory2 = new ProductFactory2();
Product p2 = factory2.GetProduct();
可以看出工廠方法中工廠和產品總是一一對應的
一個工廠只能生產一個產品
很顯然工廠方法最大的弊端就在這里.
使用的場合:
一個對象希望由子對象來指定它所創建的對象時,可以使用工廠方法PS:系統那個總結下設計模式