需求 :分销系统的账户目前有交易账户和升级账户,需要增加一个邀请账户,之前的代码比较冗余,既通过if else进行判定,需要修改源代码。

源代码路径:com.stylefeng.guns.modular.dist.service.impl.DisMemberAmountServiceImpl#addMoney

源码:

由于代码不能够很好的扩展,考虑使用到设计模式。

最后确定用策略模式,即根据通过上下文的方式选择不同的账户进行操作

结构如下:

策略上下文:

方法中实现调用:

这样就可以实现通过上下文控制账户的扩展了。

项目开源地址:

https://gitee.com/codingdb/distribution_management

查看原文 >>
相关文章