[设计模式]工厂方法模式(Factory Pattern)

【工厂方法模式】

定义一个用于创建对象的接口,让子类决定实例化哪个类

【使用场景】

在任何需要生成复杂对象的地方,都可以使用工厂方法模式。复杂对象适合使用工厂方法模式,用new就可以完成创建的对象无需使用工厂方法模式。

【模式思路】

简而言之,工厂方法模式就是把“生成对象的代码(使用new来调用构造函数的代码)”,封装在“Factory类”当中。

【UML类图】


【通用模式代码】

抽象产品类:

public abstract class Product{
    public abstract void method();
}

具体产品类A:

扫描二维码关注公众号,回复: 1062749 查看本文章
public class ConcreteProductA extends Product {
    @Override
    public void method(){
        System.out.println("具体产品A");
    }
}

具体产品类B:

public class ConcreteProductB extends Product {
    @Override
    public void method(){
        System.out.println("具体产品B");
    }
}

抽象工厂类:

public abstract class Factory{
    public abstract Product createProduct();
}

具体工厂类:

public class ConcreteFactory extends Factory {
    @Override
    public Product createProduct(){
        return new ConcreateProductA;
    }
}

客户测试主类:

public class Client {
    public static void main(String[] args){
        Factory factory = new ConcreteFactory();
        Product product = factory.createProduct();
        product.method();
    }
}



猜你喜欢

转载自blog.csdn.net/u010904687/article/details/80383682