策略模式

定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

设计原则

多用组合,少用继承。“有一个”比“是一个”更好。

理解要点

类的行为同样可以封装成类。 例如不同的鸭子有不同的展示行为、鸣叫行为和飞行行为。它们的展示行为各不相同,鸣叫和飞行则有可能相同。若使用接口和继承,将导致层级混乱,不易扩展。