您的位置:首页 > 编程语言 > Java开发

《java设计模式》之策略模式

2016-02-01 17:20 531 查看
1. 概念

策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。策略模式的好处在于你可以动态的改变对象的行为。

2. 应用场景

商品打折,一个电商平台根据会员的等级,购买的商品数量有不同的打折策略。

public interface Discount {
float discount(float price);
}

public class DiscountOp1 implements Discount{

@Override
public float discount(float price) {

return price * 0.9f;
}
}

public class DiscountOp2 implements Discount{

@Override
public float discount(float price) {
return price * 0.8f;
}
}

public class DiscountPross {

private Discount discount;

public float discount(float price){

return discount.discount(price);
}

public Discount getDiscount() {

return discount;
}

public void setDiscount(Discount discount) {

this.discount = discount;
}

}

public class Client {
public static void main(String[] args) {
Discount discount = new DiscountOp1();
DiscountPross ds = new DiscountPross();
ds.setDiscount(discount);
System.out.println(ds.discount(19.6f));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: