策略模式是面向对象设计中组合由于继承原则的一个具体体现。定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。也称为政策模式(Policy)。

可以这么理解,美国海军航母上的主力战斗机为F-18E/F型战斗机,为了减少舰载机的种类,原有的A-6,F-14,F-18被合并为这一种机型,因此F-18E/F需要承担多种拦截,攻击等多种任务,每次执行不同的任务会挂载不同的武器,比如执行拦截任务挂空空导弹,执行攻击任务挂空对舰导弹。 对于使用方--航空母舰来说,只需要F-18E/F一种战斗机,执行不同的任务时加载不同的武器,而不需要不同的作战飞机。
武器就对应于策略模式中具体的算法,而F-18E/F对应于context类,航空母舰对应于客户端代码。

被折叠的 条评论
为什么被折叠?



