public class StrategyDemo { public static void main(String[] args) { double price = 100; StrategyContext context = new StrategyContext(new CommonMemberStrategy()); System.out.println(context.calRealPrice(price)); StrategyContext context1 = new StrategyContext(new SupperMemberStrategy()); System.out.println(context1.calRealPrice(price)); StrategyContext context2 = new StrategyContext(new CommonUserStrategy()); System.out.println(context2.calRealPrice(price)); } } class StrategyContext { private PriceCalStrategy priceCalStrategy; public StrategyContext(PriceCalStrategy priceCalStrategy) { this.priceCalStrategy = priceCalStrategy; } public double calRealPrice(double price){ return priceCalStrategy.CalPrice(price); } } interface PriceCalStrategy { double CalPrice(double price); } class CommonUserStrategy implements PriceCalStrategy { @Override public double CalPrice(double price) { return price * 1.1; } } class CommonMemberStrategy implements PriceCalStrategy { @Override public double CalPrice(double price) { return price * 0.9; } } class SupperMemberStrategy implements PriceCalStrategy { @Override public double CalPrice(double price) { return price * 0.7; } }
设计模式之策略模式
最新推荐文章于 2023-02-26 23:56:38 发布