您的位置:首页 > 其它

行为模式之策略模式

2018-03-22 16:29 169 查看
策略(Strategy)模式将不同的算法策略封装为不同对象,从客户端程序中分离出来而独立变化。

策略模式包含三部分:

Strategy 定义所有算法的公共接口

ConcreteStrategy 某种具体算法的实现

Context 客户端程序,持有一个ConcreteStrategy实例

Strategy

interface Strategy {
void operate();
}


ConcreteStrategy

class ConcreteStrategyA implements Strategy {

@Override
public void operate() {
//A operation
}
}

class ConcreteStrategyB implements Strategy {

@Override
public void operate() {
//B operation
}
}


Context

class Context {
private Strategy strategy;

public Context(Strategy strategy) {
this.strategy = strategy;
}

void operate() {
strategy.operate();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: