工厂方法
它定义了一个创建对象的抽象方法,但由子类去实现该方法决定要实例化哪个类。工厂方法把实例化操作推迟到子类,模式上使用了继承
代码实现
public abstract class Factory {
abstract public Product factoryMethod();
public void doSomething() {
Product product = factoryMethod();
// do something with the product
}
}
public class ConcreteFactory extends Factory {
public Product factoryMethod() {
return new ProductA();
}
}
public class ConcreteFactory1 extends Factory {
public Product factoryMethod() {
return new ProductB();
}
}