工作中业务和功能逻辑分离

今天工作中有一个需求是给具体的客户赠送现金券,一次赠送6个月,每个月赠送的金额相同,赠送接口在项目中已经存在,重点在于业务逻辑的code。

具体的客户指代满足一定条件的客户,然后赠送现金券,而赠送接口需要大量的参数,所以拼接参数就归属到业务逻辑,而非功能逻辑。

原先设计方法:

在业务方法A中,先找到满足条件的客户,然后调用一个可以说是业务方法B,在业务方法B中进行拼接参数(循环次数写死,多次调用赠送接口);不适用每个月单独赠送不固定金额的现金券,需要修改方法A,B等大量代码。

优化后设计方法:

将业务方法B优化,仅仅负责业务方法A满足一定条件赠送现金券后传递参数到方法B中,方法B负责拼接传递过来的参数并调用赠送接口,不负责原来的赠送几次,仅仅负责赠送。(一个方法只做一个功能)

在晨会时经过讨论改成优化后的设计方法,让一个方法仅仅只做一件事情(设计模式:单一职责);业务逻辑和功能逻辑分开。

原先设计方法中在方法B中进行多次拼接参数并多次调用赠送接口,是将一部分业务和功能揉合在一起,不符合单一职责原则;优化后,方法B仅仅接收参数,封装参数并调用赠送接口即可,至于调用赠送接口几次完全由业务方法A来进行控制;

优化后方法可以适应每个月不固定金额值,只需要修改方法A中的业务调用即可。


封装可以提高代码复用,但是要和具体的业务结合起来(尽量职责分离)!

时间:2017-03-27

地点:杭州市

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值