【Java之路】设计模式之工厂方法

与简单工厂的区别

将实例化过程延后到子类。

代码实现

// Product定义略
abstract class Factory {
    abstract public Product createProduct();

    public void doSomething() {
        Product product = createProduct();
        // Do something with the product.
    }
}

class ConcreteFactory extends Factory {
    public Product createProduct() {
        return new ConcreteProduct();
    }
}

class ConcreteFactory1 extends Factory {
    public Product createProduct() {
        return new ConcreteProduct1();
    }
}

class ConcreteFactory2 extends Factory {
    public Product createProduct() {
        return new ConcreteProduct2();
    }
}
posted @ 2020-04-20 23:39  アカツキ  阅读(79)  评论(0编辑  收藏  举报