将实例化过程延后到子类。
// 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();
}
}
原文:https://www.cnblogs.com/Akatsuki-Sanjou/p/12741552.html