首页 > 安全资讯 >

设计模式-工厂方法

11-05-06

接上文:设计模式-简单工厂 简单工厂是根据传入要求决定生产那类产品,其工厂只有一个在简单工厂基础之上,如果一个工厂对应一个产品则形成了工厂方法interface Product{    public void Call();}; public class Product1

接上文:设计模式-简单工厂

简单工厂是根据传入要求决定生产那类产品,其工厂只有一个
在简单工厂基础之上,如果一个工厂对应一个产品则形成了工厂方法
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:系统那个总结下设计模式

相关文章
最新文章
热点推荐