标签:style 耦合 基础 技术 概述 依赖 com 修改 客户
定义一系列算法,把它们一个个封装起来,并且它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
比如,设计一个Army类,该类有一个int数组,数组表示士兵的号码,该类中有一个lineUp()方法,该方法用于将士兵按照号码从小到大排列。但有时候需要将士兵按照从大到小排列,此时要么新增一个方法,或者修改该方法。使用策略模式,可以在不修改原来方法的基础上,修改该方法的具体算法。
策略:策略是一个接口,定义若干个算法标识
具体策略:实现策略接口的类。
上下文:是依赖于策略接口的类,即上下文包含有策略声明的变量。上下文中提供一个方法,该方法委托策略变量调用具体策略所实现的策略接口中的方法。
上下文和具体策略是松耦合关系
满足“开-闭原则”。当增加新的具体策略时,不需要修改上下文类的代码。
标签:style 耦合 基础 技术 概述 依赖 com 修改 客户
原文地址:http://www.cnblogs.com/wuchaodzxx/p/6759175.html