欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式之策略模式

程序员文章站 2022-05-04 20:54:30
...

策略模式:定义一组算法,将每一种算法封装起来,实现统一接口,使每种算法可以灵活替换。

 

策略模式是行为模式中很好理解的一种模式,类图也很简单,有些像面向接口编程。不过策略模式的最终本意可不是面向接口编程,也不是spring的IOC,它是想各种实现能够灵活替换,而且各算法实现的最终目标是一样的,脱离了这种本意的面向接口编程不应该叫策略模式。

 

比如压缩算法接口,有zip、rar两种实现,这是策略模式

 


设计模式之策略模式
            
    
    博客分类: 设计模式 策略模式strategy patternjava设计模式面向接口编程
 

 

以下例子就不能认为是策略模式:

 

网上下单、取消订单、修改订单,后台处理这些请求都需要校验参数-->处理请求->返回结果,流程都一样,所以定义一个统一接口,接口中有三个方法:校验、处理、返回结果组装,接口有三个实现类:CreateOrderImpl,CancelOrderImpl,ModifyOrderImpl。  Controller层根据请求使用不同的实现类。

 

类图和策略模式一样,但其实不能定义为策略模式,因为各个实现类之间是不能替换的,替换了业务逻辑就变了。顶多可以算上改造成“模板模式+面向接口编程”。

 

如有不对欢迎各位拍砖,不吝赐教!

  • 设计模式之策略模式
            
    
    博客分类: 设计模式 策略模式strategy patternjava设计模式面向接口编程
  • 大小: 24.9 KB