装饰器模式实现账户的可扩展性

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

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

   源码:

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

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

结构如下:

策略上下文:

方法中实现调用:

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

项目开源地址:

https://gitee.com/codingdb/distribution_management

猜你喜欢

转载自my.oschina.net/u/3704586/blog/2223032
今日推荐