设计模式1:策略模式Strategy P
核心思想是包装算法, 使用场景是不动本体的情况下增加新功能,实践案例是计算器,在不改计算器类的情况下添加新的算法+ - * /
1、接口用来包装算法
public interface Strategy {
public int method(Caculator caculator);
}
2、计算器类,必要的成员,引入算法接口
public class Caculator {
private Strategy strategy;
private int A;
private int B;
public Caculator(Strategy strategy, int a, int b) {
this.strategy = strategy;
A = a;
B = b;
}
public int getA() {
return A;
}
public int getB() {
return B;
}
public int mothed(){
return strategy.method(this);
}
}
3、实现算法
加法
public class Addition implements Strategy{
@Override
public int method(Caculator caculator) {
return caculator.getA()+caculator.getB();
}
}
减法
public class Subtraction implements Strategy{
@Override
public int method(Caculator caculator) {
return caculator.getA()-caculator.getB();
}
}
最最后试试一试效果,要更多的算法只要实现算法类即可
Caculator caculator =new Caculator(new Addition(),8,8);
int c= caculator.mothed();
System.out.printf(""+c);
Caculator caculator1 =new Caculator(new Subtraction(),8,8);
c= caculator1.mothed();
System.out.printf(""+c);