策略模式
策略模式通常是指完成某个操作可能会有多种方法,适用于多种场合。我们需要把每个操作方法当作一个实现策略,调用者可根据需要(特定的规则)选择合适的策略。
结构类图
Context:使用不同的策略环境,根据自身的条件选择不同的策略实现类来完成所需要的操作。它持有一个策略实例的引用。
Strategy:抽象策略,定义每个策略都要实现的方法。
Realize1,Realize2:负责实现抽象策略中定义的策略方法。
例子
1 |
|
createTradeFlowServiceByOrderId
方法会根据“订单号的长短”选择具体的子策略。
- 长订单号:tpTradeFlowService
- 短订单号:unifyTradeFlowService
彼此子策略实现互不干扰,有效达到隔离效果。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 yupaits的博客!
评论