Head-First-Design-Patterns-master\src\headfirst\designpatterns\strategy
1.定义:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
以设计一个鸭子为案例,绿头鸭和红头鸭分别有不同的行为(飞,叫)
使用的对象组合的方式
策略模式
定义一个策略接口C
策略A实现接口定义一个策略、策略B实现接口定义一个策略……
定义一个策略上下文M(参数C){ A或B传入之后向上转型为C }
外部程序调用策略的时候,使用M,传入一个A或B策略