工程模式 - 创建

一、概述

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

主要解决:主要解决接口选择的问题。

何时使用:我们明确地计划不同条件下创建不同实例时。

二、使用

示例:

package pattern.factory;

/**
 * 工厂模式
 * @author zls
 * @date 2020/3/27
 */
public class FactoryTest {
    public static void main(String[] args) {
        CarFactory carFactory = new CarFactory();
        // 从工厂中获取不同类型的对象
        Car benz = carFactory.getCar("benz");
        Car bmw = carFactory.getCar("bmw");
        benz.run();
        bmw.run();
    }
}

/**
 * 公共接口
 */
interface Car {
    void run();
}

class Benz implements Car {
    @Override
    public void run() {
        System.out.println("大奔跑得快...");
    }
}

class Bmw implements Car {
    @Override
    public void run() {
        System.out.println("宝马跑得稳...");
    }
}

/**
 * 核心:
 * 创建一个工厂,生成基于给定信息的实体类的对象。
 */
class CarFactory {
    public Car getCar(String type) {
        if (type.equalsIgnoreCase("benz")) {
            return new Benz();
        } else if (type.equalsIgnoreCase("bmw")) {
            return new Bmw();
        }
        return null;
    }
}

参考:

https://www.runoob.com/design-pattern/factory-pattern.html

猜你喜欢

转载自www.cnblogs.com/shiyun32/p/12579358.html