工厂方法
它定义了一个创建对象的抽象方法,但由子类去实现该方法决定要实例化哪个类。工厂方法把实例化操作推迟到子类,模式上使用了继承
代码实现
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();
}
}
本文介绍了工厂方法设计模式,该模式定义了一个创建对象的抽象接口,允许子类决定实例化哪个类。通过将实例化操作推迟到子类,实现了代码的解耦和可扩展性。示例代码展示了如何在`Factory`类中使用抽象方法`factoryMethod()`,以及两个具体实现`ConcreteFactory`和`ConcreteFactory1`如何创建`ProductA`和`ProductB`对象。
2154

被折叠的 条评论
为什么被折叠?



