项目中会有这样的情形,通过某个参数进入不同的if分支,但是if分支太多就会导致项目难以维护,可读性也会降低,如下情形:
public class Test {
public static void main(String[] args) {
String ani = "pig";
if(ani.equals("cat")){
showCat();
}else if(ani.equals("dog")){
showDog();
}
}
private static void showCat() {
System.out.println("this is cat!");
}
private static void showDog() {
System.out.println("this is dog!");
}
}
上面情况为了方便只写了两个if的情况,假设if有十个,这时候是时候引入策略模式了
public interface Operate {
void show();
}
不同的分支实现该策略接口
public class CatShow implements Operate {
@Override
public void show() {
System.out.println("this is cat!");
}
}
public class DogShow implements Oper