概念
策略模式定义了一类算法,分别封装起来,让这些算法之间可以相互替换,从而达到实现不同功能的目的。策略模式让算法的变化独立于使用算法的客户。
策略模式类图:
从图中可以看出,操作被封装到类中,这些又都实现了同一个接口,然后在Context
类中被调用。
举一个具体的例子,如计算器:
代码实现
还是以计算器为例
首先是Operation
接口:
public interface Operation{
public int doOpertaion(int num1, int num2);
}
两个实现类-加法与减法:
public class AddOperation implements Operation{
@Override
public int doOperation(int num1, int num2){
return num1 + num2;
}
}