设计模式——策略模式

        策略者模式就是一个功能需求可以有多种策略来进行选择,比如打折,在不同的时间段打折的力度是不同的,按照正常的逻辑我们需要一个个if-else去判断,而策略模式利用开闭原则,抽取出一个接口里面有一个抽象的方法,让不同的策略类去实现这个接口方法,来实现多种策略。在外部策略选择时直接传入选择的策略类即可。

public interface Strategy {

    void show();

}
/*
  为春节准备的促销活动A
 */
public class StrategyA implements Strategy {

    public void show() {
        System.out.println("春节活动: 买一送一");
    }

}
/*
  为中秋准备的促销活动B
 */
public class StrategyB implements Strategy {

    public void show() {
        System.out.println("中秋活动: 满200元减50元");
    }
    
}
/*
  为国庆准备的促销活动C
 */
public class StrategyC implements Strategy {

    public void show() {
        System.out.println("国庆活动:满1000元加一元换购任意200元以下商品");
    }
    
}
public class Test {

    public static void main(String[] args) {

        Strategy strategyA = new StrategyA();
        strategyA.show();
        Strategy strategyB = new StrategyB();
        strategyB.show();
        Strategy strategyC = new StrategyC();
        strategyC.show();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值