接上文:设计模式
-简单工厂 http://www.cppblog.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:系统那个总结下设计模式