泉州建设网站公司,画册设计网站欣赏,wordpress关闭裁剪缩略图,svg图片做网站背景一、策略模式思想
简介 策略模式#xff08;Strategy Pattern#xff09;属于对象的行为模式。其用意是针对一组算法#xff0c;将每一个算法封装到具有共同接口的独立的类中#xff0c;从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。…一、策略模式思想
简介 策略模式Strategy Pattern属于对象的行为模式。其用意是针对一组算法将每一个算法封装到具有共同接口的独立的类中从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 其主要目的是通过定义相似的算法替换if else 语句写法并且可以随时相互替换。 策略模式主要由这三个角色组成环境角色(Context)、抽象策略角色(Strategy)和具体策略角色(ConcreteStrategy)。
环境角色(Context)持有一个策略类的引用提供给客户端使用。抽象策略角色(Strategy)这是一个抽象角色通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。具体策略角色(ConcreteStrategy)包装了相关的算法或行为。
示例图如下:
class CalculatorContext {private CalculateStrategy strategy;public CalculatorContext(CalculateStrategy strategy) {this.strategy strategy;}public int executeStrategy(int num1, int num2) {return strategy.doOperation(num1, num2);}
}