Java23种设计模式之创建型模式「抽象工厂模式」
2020-07-28 本文已影响0人
MrLimLee
抽象工厂模式
- 抽象工厂模式(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();
输出
创建一个高等级的项目
创建一个低等级的项目