定义:
策略模式定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换
业务场景:
饲养员喂动物,可以先用不同的策略,比如用勺子喂(幼仔),用盆喂,扔地上喂等等。这些不同的方式就可以抽象为不同的喂养方法,就是策略。
策略模式中各角色的作用,都与上一篇状态模式非常类似,所以重点讲两者区别。
当我们对业务进行抽象的时候,策略与状态的定义区别是非常明显的。比如上一篇中提到了饲养员的不同状态,如果形容为饲养员的不同策略,就非常生硬而不合适。
类结构和作用都是相近的。不比纠结
以上
定义:
策略模式定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换
业务场景:
饲养员喂动物,可以先用不同的策略,比如用勺子喂(幼仔),用盆喂,扔地上喂等等。这些不同的方式就可以抽象为不同的喂养方法,就是策略。
策略模式中各角色的作用,都与上一篇状态模式非常类似,所以重点讲两者区别。
当我们对业务进行抽象的时候,策略与状态的定义区别是非常明显的。比如上一篇中提到了饲养员的不同状态,如果形容为饲养员的不同策略,就非常生硬而不合适。
类结构和作用都是相近的。不比纠结
以上