i3geek.com
闫庚哲的个人博客

Java设计模式——策略模式

定义

将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。

功能

分离、抽象出不变的部分形成接口,将算法的实现分别封装,这样会使客户端不受算法改变而受到影响。

如:结算购物车时,付款提供商(接口)==实现==》招商银行、建设银行……等很多的付款方式。

实现

../_images/Strategy.jpg

  • Context: 环境类
  • Strategy: 抽象策略类
  • ConcreteStrategy: 具体策略类

时序图:

../_images/seq_Strategy.jpg

1、通过分离变化得出策略接口

2、为接口提供实现类

3、针对接口编程,在客户程序中 持有接口变量,并赋予相应的实现类对象

实现源代码:https://github.com/yangengzhe/coding-guide_i3geek/tree/master/docs/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F

赞(0)
未经允许不得转载:爱上极客 » Java设计模式——策略模式
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址