CoffeeFactory.java 725 字节
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
package com.pattern.FactoryPattern.SimpleFactory.materials.factory;

import com.pattern.FactoryPattern.SimpleFactory.materials.po.Americano;
import com.pattern.FactoryPattern.SimpleFactory.materials.po.Cappuccino;
import com.pattern.FactoryPattern.SimpleFactory.materials.po.Coffee;

import java.util.HashMap;
import java.util.Map;

/**
 * 工厂
 *
 * @author lx
 * @date 2021/10/13 14:17
 **/
public class CoffeeFactory {
    private static final Map<String, Coffee> COFFEE_MAP = new HashMap<>(10);

    static {
        COFFEE_MAP.put("Cappuccino", new Cappuccino());
        COFFEE_MAP.put("Americano", new Americano());
    }

    public Coffee createInstance(String name) {
        return COFFEE_MAP.get(name);
    }
}