Java设计模式---策略模式---自我理解

1、官方概述:

策略模式(Pattern:Strategy)属于行为型模型,是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

2、结构图:Java设计模式---策略模式---自我理解

 3、自我理解:

当存在一个业务逻辑存在多种实现方式的时候,可以通过策略模式进行实现;方便进行代码规整以及管理。当对同一业务不同实现的时候可以很快定位到该业务的所有实现。

4、举例业务:

登录模块:用户可以通过手机号、微信APP、微信小程序、Apply ID、淘宝账号;

当用户进行登录时,对外(客户端)暴露接口只有一个登录接口;对内实现则可以通过新建一个登录策略接口;对不同的登录方式进行不同的实现,所有的实现类统一继承登录策略接口。

优点:

对比传统普通的各种方法来讲,从代码维护的角度上大大减少了查找方法的时间,可以通过策略接口直接定位到所有实现类。

缺点:

如果策略比较多,那么就会造成策略类非常多,容易膨胀;解决:通过考虑混合模式解决

所有的策略实现类全部都是对外暴露的;