工厂模式
介绍
工厂模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
枚举实现工厂模式
public interface FoodFactory {
Food makeFood();
}
public enum ChineseFoodFactory implements FoodFactory {
A() {
@Override
public Food makeFood() {
String bizNo = UUID.randomUUID().toString().replace("-","");
return new ChineseFoodA().setBizNo(bizNo);
}
},
B() {
@Override
public Food makeFood() {
String bizNo = UUID.randomUUID().toString().replace("-","");
return new ChineseFoodB().setClmedApplNo(bizNo);
}
}
}
@Data
@ToString(callSuper = true)
@Accessors(chain = true)
public class ChineseFoodA extends Food {
private String bizNo;
}
@Data
@ToString(callSuper = true)
@Accessors(chain = true)
public class ChineseFoodB extends Food {
private String clmedApplNo;
}
调用工厂方法
@Test
public void enumFactory_t2(){
Food foodB = ChineseFoodFactory.B.makeFood();
System.out.println(foodB.toString());
}
浙公网安备 33010602011771号