策略模式中主要有以下角色
抽象策略接口
具体策略实现
1. 定义策略接口
/**
* @desc 支付抽象类
**/
public interface Pay {
/**
* 缓存支付方式和对应的支付策实现对象
*/
Map<String, Pay> payMap = new HashMap<>();
public String payment();
}
2. 定义AliPay具体策略实现类
/**
* @desc Ali支付实现类
**/
public class AliPay implements Pay{
/**
* 缓存支付类型具体对象
*/
public AliPay () {
payMap.put("Ali", this);
}
@Override
public String payment() {
return "Alipay";
}
}
3. 定义WxPay具体支付实现策略类
/**
* @author def
* @create 2024-11-17
* @desc 微信支付
**/