设计模式:策略模式
什么是策略模式?
策略模式(英文:Strategy Pattern),定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的改变不会影响使用算法的客户。

一句话归纳
条条大道通罗马,具体哪条你决定
代码示例
我所在的公司是一家电商公司,电商公司在每一个节日都会搞一些促销活动,比如“618”、“双11”、“年货节”等等;在这些促销活动还会有不同的促销手段,比如“全场满减”、“满折”、“拼团”等等,而对于我们程序员来讲,每一次促销活动都是一次对系统的大考。
类与类之间的关系如下:

具体代码如下所示:

适用性
以下我建议你考虑使用:
算法可以自由切换的时候;
多个类在算法和行为上稍稍不同的时候;
算法相对独立,并且要对客户端隐藏具体的实现细节的时候;
比如支付渠道:有支付宝、微信、银联支付;快递有顺丰、中通、京东等等。
局限性
以下我建议你谨慎使用:
每一个策略都是一个类,复用的可能性小,类会增多;
客户端必须知道每一个策略之间的区别,以便在合适的场景选择恰当的策略。

写在最后
最后,好兄弟,记得点赞,关注,谢谢。
