封装了创建对象的过程,可以通过参数直接获取对象
咖啡接口
package com.example.demo.designPatterns.simpleFactory;
public interface Coffee {
}
美式咖啡
package com.example.demo.designPatterns.simpleFactory;
public class AmericanoCoffee implements Coffee{
}
拿铁咖啡
package com.example.demo.designPatterns.simpleFactory;
public class LatteCoffee implements Coffee{
}
咖啡工厂
package com.example.demo.designPatterns.simpleFactory;
public class SimpleCoffeeFactory {
public static Coffee createCoffee(String type) {
Coffee coffee = null;
if ("americano".equals(type)) {
coffee = new AmericanoCoffee();
} else if ("latte".equals(type)) {
coffee = new LatteCoffee();
}
return coffee;
}
}
咖啡商店
package com.example.demo.designPatterns.simpleFactory;
public class CoffeeStore {
public static void main(String[] args) {
Coffee americano = SimpleCoffeeFactory.createCoffee("americano");
System.out.println(americano.toString());
}
}