23种设计模式-策略模式《商家打折》

对于许久不用的东西,容易忘记。百度许久,也未能找到自己所要。 从今日起,有些东西就记载下来,不仅方便自己,希望能帮到他人吧

最近开发一款电商App,对于商家推出的活动焦头烂额,好歹想起了设计模式中的策略模式,从容的解决这种问题。

商家的活动:

1.满100减10元。

2.三件8.5折。

3.五件送一件最近价格商品。

最开始使用swich,后来越来越多case,代码繁杂且不易修改,耦合性高。你见过10多个case吗,我的代码曾经就是这样,哈哈。

使用策略模式该怎么书写呢?

1.商家的活动属于同一种类,也就是无数个case,那第一步写一个接口。

package com.yancy.model;

public interface IStrategy {

    void strategy();
}

2.不论商家活动如何改变,我只需增加类实现接口,耦合性大大降低,代码不再堆积。

活动一:满100减10元。
package com.yancy.action;

import com.yancy.model.IStrategy;

/**
 * 满100减10元
 * 
 * @author yancy
 * 
 */
public class FullReduction implements IStrategy {
   

    public 
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值