美文网首页
Java23种设计模式之创建型模式「抽象工厂模式」

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

作者: MrLimLee | 来源:发表于2020-07-28 17:46 被阅读0次

    抽象工厂模式

    • 抽象工厂模式(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();
    

    输出

    创建一个高等级的项目
    创建一个低等级的项目
    

    相关文章

      网友评论

          本文标题:Java23种设计模式之创建型模式「抽象工厂模式」

          本文链接:https://www.haomeiwen.com/subject/socqrktx.html