策略模式 :定義組算法。將每個(gè)算法封裝起來,并且使它們之間可以互換
策略模式的組成 :抽象策略角色、具體策略角色、環(huán)境角色(客戶端調(diào)用的)
封裝變化概念 編程中使用接口而不是接口的實(shí)現(xiàn)。
package com.xjsx.strategy;
public interface Strategy {
public int calculate(int a ,int b);
}
package com.xjsx.strategy;
public class AddStrategy implements Strategy {
@Override
public int calculate(int a, int b) {
return a + b;
}
}
package com.xjsx.strategy;
public class SubtractStrategy implements Strategy {
@Override
public int calculate(int a, int b) {
return a - b;
}
}