在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,用户可以通过工厂类获取需要的对象。
public class SimpleFactory {
public static Object getGoods(String name) {
Object obj = null;
switch (name) {
case "car":
obj = new MyObject("汽车");
break;
case "airplane":
obj = new MyObject("飞机");
break;
case "boat":
obj = new MyObject("船");
break;
}
return obj;
}
}
工厂接口
public interface IFactory {
public Object getGoods(String name);
}
工厂实现类
public class CarFactory implements IFactory{
public Object getGoods(String name) {
Object obj = null;
switch (name) {
case "宝马":
obj = new MyObject("汽车(宝马)");
break;
case "大众":
obj = new MyObject("汽车(大众)");
break;
}
return obj;
}
}
class BoatFactory implements IFactory{
public Object getGoods(String name) {
Object obj = null;
switch (name) {
case "小船":
obj = new MyObject("船(小船)");
break;
case "大船":
obj = new MyObject("船(大船)");
break;
}
return obj;
}
}
原文:https://www.cnblogs.com/feiqiangsheng/p/12079174.html