需求 :分销系统的账户目前有交易账户和升级账户,需要增加一个邀请账户,之前的代码比较冗余,既通过if else进行判定,需要修改源代码。
源代码路径:com.stylefeng.guns.modular.dist.service.impl.DisMemberAmountServiceImpl#addMoney
源码:
由于代码不能够很好的扩展,考虑使用到设计模式。
最后确定用策略模式,即根据通过上下文的方式选择不同的账户进行操作
结构如下:
策略上下文:
方法中实现调用:
这样就可以实现通过上下文控制账户的扩展了。
项目开源地址:
https://gitee.com/codingdb/distribution_management