一个人可以外出旅行,可以选择很多交通工具,可以成立一个类,把所有的交通工具组合起来,使他们可以相互替换。
实现代码:
public class DM03Strategy//策略模式
{
void Start()
{
StrategyContext my = new StrategyContext();//
my.strategy = new ConcreteStrategyA();
my.Cal();
}
}
public class StrategyContext//使用者
{
public IStrategy strategy;
public void Cal()
{
strategy.Cal();
}
}
public interface IStrategy
{
void Cal();
}
public class ConcreteStrategyA:IStrategy
{
public void Cal()
{
Debug.Log("使用策略A计算");
}
}
public class ConcreteStrategyB : IStrategy
{
public void Cal()
{
Debug.Log("使用策略B计算");
}
}