策略模式
策略模式 一、策略模式简介 先看一下示例,假如一个超市,在结账的时候对不同的会员进行不同的打折策略,该代码实现如下 抽象会员接口 public interface VIPCard { double sale(double money); } 普通会员不打折 public class CommonVip implements VIPCard { @Override public double sale(double money) { return 1 * money; } } 黄金会员打九折 public class GoldVip implements VIPCard{ @Override public double sale(double money) { return 0.9 * money; } } 钻石会员打八折 public class DiamondVip implements VIPCard { @Override public double sale(double money) { return 0.8 * money; } } 具体环境,超市打折计算金额 public class Shop{ private VIPCard vipCard; public Shop(VIPCard vipCard){ this.vipCard=vipCard; } public