1、模式理解:策略嘛,策略一,策略二,策略三等等,然后你可以选择,选择哪个策略就执行哪个策略
2、运用场景:分类多的时候可以使用
3、代码示例:来自:https://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html
//先创建一个接口,所有等级的会员都有打折功能
public interface Discount {
double discount(double price);
}
//创建各种等级的会员,实现这个打折接口
public class Gold implements Discount{
@Override
public double discount(double price) {
return price*0.95;
}
}
public class Platinum implements Discount{
@Override
public double discount(double price) {
return price*0.90;
}
}
public class Diamond implements Discount{
@Override
public double discount(double price) {
return price*0.80;
}
}
//然后创建价格类,因为所有的折扣都是围绕价格来的
public class Price {
Discount discount;
public Price(Discount discount) {
this.discount=discount;
}
public double getPrice(double price){
return discount.discount(price);
}
}
//最后写个测试类测试一下
public class Main {
public static void main(String[] args) {
Price price=new Price(new Diamond());
System.out.println(price.getPrice(100)+"元");
}
}