今天我们来讲策略模式:


策略模式就是见人说人话,见鬼说鬼话。
不同的情况下,用不同的算法(实例)
统一的情景接口:
interface Strategy{
say();
}
说人话与说鬼话情景以及操作:
//见人情景
class StrategyPerson implements Strategy{
say(){
return "人话";
}
}
//见鬼情景
class StrategyGhost implements Strategy{
say(){
return "鬼话";
}
}
上下文(规定遇到的是人还是鬼):
class Context{
Strategy strategy;
//设置当前见鬼还是见人
set( Strategy _strategy){
strategy = _strategy;
}
//具体操作
say(){
strategy.say();
}
}
使用者:
Context context = new Context();
context.set(StrategyPerson strategyPerson);
context.say();
context.set(StrategyGhost strategyGhost);
context.say();
策略策略,不同的场景做不同的事情而已。
本文介绍了策略模式的概念,强调了其在不同场景下选择不同算法的灵活性。通过统一的情景接口,策略模式实现了‘见人说人话,见鬼说鬼话’的逻辑,允许上下文根据实际情况调用相应的策略,方便使用者进行操作。

10万+

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



