1

アプリケーションの状態が変化すると、アプリケーション ループ (またはゲーム ループなど、名前が何であれ) は別の一連の命令を実行する必要があります。多くの場合、これは 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

インターフェイスよりも悪いですか?ステートメントが高価であると想定され、分岐予測子が機能するかどうかは通常知っていますが、分岐はここでも予測されていますか?

4

1 に答える 1