简单工厂模式:
需要的类:抽象产品,具体产品,工厂
抽象产品类: Food
/** * 抽象产品 */ public interface Food{ void build(); }
具体产品类:Bread
/** * 具体产品:面包 */ public class Bread implements Food{ @Override public void build() { System.out.println("生产了一块面包"); } }
具体产品类:Milk
/** * 具体产品:牛奶 */ public class Milk implements Food{ @Override public void build() { System.out.println("生产了一杯牛奶"); } }
具体产品类:ChickenLeg
/** * 具体产品:鸡腿 */ public class ChickenLeg implements Food{ @Override public void build() { System.out.println("生产了一个鸡腿"); } }
工厂类:SimpleFactory
/** * 简单工厂模式生产面包,牛奶,鸡腿 * 需要:抽象产品 * 具体产品 * 工厂 */ public class SimpleFactory { public static Food buildFood(String design) { if ("bread".equals(design)) { return new Bread(); } else if ("milk".equals(design)) { return new Milk(); } else if ("chickenLeg".equals(design)) { return new ChickenLeg(); } else { return null; } } }
测试类:
public class Test { public static void main(String[] args){ SimpleFactory.buildFood("bread").build(); SimpleFactory.buildFood("milk").build(); SimpleFactory.buildFood("chickenLeg").build(); } }
运行结果: