1. 程式人生 > >裝飾器模式實現賬戶的可擴充套件性

裝飾器模式實現賬戶的可擴充套件性

需求 :分銷系統的賬戶目前有交易賬戶和升級賬戶,需要增加一個邀請賬戶,之前的程式碼比較冗餘,既通過if else進行判定,需要修改原始碼。

  原始碼路徑:com.stylefeng.guns.modular.dist.service.impl.DisMemberAmountServiceImpl#addMoney 

   原始碼:

由於程式碼不能夠很好的擴充套件,考慮使用到設計模式。

最後確定用策略模式,即根據通過上下文的方式選擇不同的賬戶進行操作

結構如下:

策略上下文:

方法中實現呼叫:

這樣就可以實現通過上下文控制賬戶的擴充套件了。

專案開源地址:

https://gitee.com/codingdb/distribution_management