当应用程序状态发生变化时,应用程序循环(或游戏循环,不管它叫什么)现在必须执行一组不同的指令。通常,这意味着使用 if 语句。
我发现使用接口和接口引用变量可以减少对 if 语句的需求,并且它使状态更改看起来更好。
class red implements IColor
class blue implements IColor
IColor colorState;
Application loop
{
colorState.drawColor
}
这是我所说的不需要 if 语句的接口的一个例子。现在,当您想将状态从红色更改为蓝色时,您只需
colorState = a reference to a blue instance;
但我想知道是否像这样简单的 if 语句
if (bool)
stuff
else
stuff
比界面差?我通常知道语句是否应该很昂贵,并且分支预测器会发挥作用,但是在这里甚至可以预测分支吗?