工厂模式
工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
实现
package cn.devcxl.common;
/**
* @author devcxl
*/
public class FactoryDemo {
public interface Drink {
void make();
}
public enum DrinkType {
ORANGE,
WATERMELON;
}
public class DrinkFactory {
public Drink makeDrink(DrinkType drinkType) {
if (DrinkType.ORANGE.equals(drinkType)) {
return new Orange();
} else if (DrinkType.WATERMELON.equals(drinkType)) {
return new Watermelon();
}
return null;
}
}
public class Orange implements Drink {
@Override
public void make() {
// todo make Orange
System.out.println("make Orange");
}
}
public class Watermelon implements Drink {
@Override
public void make() {
// todo make Watermelon
System.out.println("make Watermelon Juice");
}
}
public void run() {
DrinkFactory drinkFactory = new DrinkFactory();
Drink orangeade = drinkFactory.makeDrink(DrinkType.ORANGE);
orangeade.make();
Drink watermelon = drinkFactory.makeDrink(DrinkType.WATERMELON);
watermelon.make();
}
public static void main(String[] args) {
new FactoryDemo().run();
}
}