简单的工厂模式:其实也叫做静态工厂方法,这种模式的核心特点是通过传进去的参数来判断创造怎么样的实例
现在演示一个Demo:
1.建立一个父类
public class Sport {
public void play() {
System.out.println("sport");
}
}
2.有几个子类继承了这个父类
public class Swim extends Sport{
@Override
public void play() {
System.out.println("Swim");
}
}
public class Basketball extends Sport {
@Override
public void play() {
System.out.println("Basketball");
}
}
3.通过简单的工厂模式去创造实例
public class SportFactory {
public static Sport createSport(int choice) {
Sport sport = null;
switch(choice) {
case 1 :
sport = new Swim();
break;
case 2 :
sport = new Basketball();
break;
}
return sport;
}
}
4.StartUp
public class StartUp {
public static void main(String[] args) {
Sport sport = SportFactory.createSport(2);
sport.play();
}
}
这样的静态工厂模式的优点就是自己负责了实现创建实例的内部逻辑,别人只负责调用就行了,但是这种模式的缺点就是里面的内部逻辑是事先考虑好的,如果要增加新的逻辑,新的类,这个模式可能就不能应付过来了。