【GoFデザインパターン】Strategyパターン

Strategyパターン

一言でいうとクラスをプラグイン化する。
共通の抽象クラス(又はインターフェース)を持つ複数のクラスを準備しておき、どれをnewするかを状況に応じて切り替える設計のことをStrategyパターンという。

JavaでStrategyパターン

以下はJavaで実装した例。

GameMode Gm = null;
String mode = "easy";
switch (mode) {
case "easy":
    Gm = new EasyMode();
    break;
case "normal":
    Gm = new NormalMode();
    break;
case "hard":
    Gm = new HardMode();
    break;
default :
    Class<?> Class = Class.forName(mode);
    Gm = (GameMode) Class.newInstance();
}
shiakisudev

Share
Published by
shiakisudev