文章目录
定义
定义一系列的算法,把他们一个个封装起来,并且使他们可相互替换。本模式使得算法可独立与使用它的客户而变化。
UML(2018-09-20)
使用场景
一个简化的报价管理
(1)对新客户报全价
(2)对老客户折扣5%
(3)对大客户折扣10%
代码
(1)策略接口
//定义报价算法的接口
package Strategy;
public interface Strategy {
//计算应报的价格
public double price(int money);
}
(2)具体的算法实现
//新客户
package Strategy;
public class NewClient implements Strategy{
@Override
public double price(int money) {
// TODO 自