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

Java23种设计模式之创建型模式「工厂方法模式」

作者: MrLimLee | 来源:发表于2020-07-29 09:40 被阅读0次

工厂方法模式

  • 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
  • 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

创建业务逻辑接口

public interface Product {
    void creatProduct();
}

实现业务逻辑接口

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

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

创建业务工厂 根据不同的逻辑返回不同的实例

public class ProductFactory {
    public Product creatProductLevel(String level) {
        if (level.equals("high")) {
            return new HighProduct();
        } else if (level.equals("low")) {
            return new LowProduct();
        }
        return null;
    }
}

测试

ProductFactory productFactory = new ProductFactory();

Product high = productFactory.creatProductLevel("high");
high.creatProduct();

Product low = productFactory.creatProductLevel("low");
low.creatProduct();

输出

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

相关文章

  • 工厂方法模式

    Java23种设计模式--工厂方法模式 一、什么是工厂方法模式 工厂方法模式同样属于类的创建型模式又被称为多态工厂...

  • 简单工厂模式

    Java23种设计模式--简单工厂模式 一、什么是简单工厂模式 简单工厂模式属于类的创建型模式,又叫做静态工厂方法...

  • spring 设计模式篇(前)

    设计模式俗称:套路 一、spring常见设计模式 (23种设计模式) 创建型:工厂方法模式、抽象工厂模式、建造者...

  • 简单工厂模式

    Android进阶之设计模式 简单工厂模式 简单工厂模式(又叫作静态工厂方法模式), 其属于创建型设计模式,但并不...

  • 设计模式之工厂方法模式|抽象工厂模式

    工厂方法模式(Factory Method) 工厂方法模式(Factory Method)是一种创建型的设计模式,...

  • 工厂模式-简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式 工厂模式是一种比较常见的创建型设计模式,分为简单工厂模式、工厂方法模式、抽象工厂模式 工厂模式旨在把对象...

  • 设计模式的基本概念与区别

    1、设计模式有哪些? 23种设计模式总体分为三大类创建型设计模式,共5种简单工厂、工厂方法模式,抽象工厂模式,单例...

  • 设计模式

    23种设计模式 工厂方法(创建型:解决对象创建问题的) 工厂方法:工厂模式不属于GOF设计模式,也不属于JavaE...

  • 设计模式-工厂方法模式

    1 工厂方法模式介绍 工厂方法模式(Factory Pattern)是创建型设计模式之一。工厂方法模式是一种结构简...

  • Kotlin(八)kotlin设计模式-创建型

    创建型模式 - 工厂 Kotlin里面几种主流创建型设计模式:工厂方法模式,抽象工厂模式,构建者模式 8.1 伴生...

网友评论

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

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