Java23种设计模式之创建型模式「抽象工厂模式」

抽象工厂模式

  • 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
  • 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。

创建项目等级的接口

public interface ProductLevel {
    void creatProduct();
}

实现项目等级的接口:高等级和低等级

public class ProductHighLevel implements ProductLevel {

    @Override
    public void creatProduct() {
        System.out.println("创建一个高等级的项目");
    }
}

public class ProductLowLevel implements ProductLevel {

    @Override
    public void creatProduct() {
        System.out.println("创建一个低等级的项目");
    }
}

创建抽象工厂

public abstract class ProductAbstractFactory {

    public abstract ProductLevel creatProduct(String level);
}

继承抽象工厂

public class ProdcutFactory extends ProductAbstractFactory {

    @Override
    public ProductLevel creatProduct(String level) {
        if (level.equals("high")) {
            return new ProductHighLevel();
        } else if (level.equals("low")) {
            return new ProductLowLevel();
        } else {
            return null;
        }

    }
}

测试

ProdcutFactory prodcutFactory = new ProdcutFactory();
ProductLevel high = prodcutFactory.creatProduct("high");
high.creatProduct();

ProductLevel low = prodcutFactory.creatProduct("low");
low.creatProduct();

输出

创建一个高等级的项目
创建一个低等级的项目
posted @ 2020-07-28 17:49  Mr-Lim  阅读(114)  评论(0编辑  收藏  举报