Japanese / English
Strategy
Strategyは、アルゴリズムをカプセル化(クラス化)し、アルゴリズムにインターフェースを適用することにより、カプセル化したクラスの戻り値をインターフェースで受けることが出来ます。
これにより、アルゴリズムの拡張性と保守性を高め、又カプセル化することによりアルゴリズムの再利用を可能にします。

以下はStrategy適用前のソースです。

Strategy適用前のソース
public class strategyMain {

    public static void main(String[] args) {
        
        if(条件){
	    // 処理1
        }else{
	    // 処理2
        }

	    System.out.println(処理1か処理2の結果);
    }
}
上記クラスの処理1と処理2の部分をそれぞれカプセル化します。この時、カプセル化したクラスに対してインターフェースを適用します。
インターフェースは以下のようにメソッド名を記述します。

Strategyのインターフェース
public interface strategyI {
    String getMessage();
}
次にこのインターフェースをimplementしたアルゴリズムをカプセル化したクラスを作成します。
アルゴリズムの分クラスを作成しなくてはいけません。

Strategyのインターフェースを実装したカプセル化クラス1
public class strategy01 implements strategyI{
    public String getMessage(){
        return "a";
    }
}
Strategyのインターフェースを実装したカプセル化クラス2
public class strategy02 implements strategyI {
    public String getMessage(){
        return "b";
    }
}
StrategyのMainクラス
public class strategyMain {

    public static void main(String[] args) {
        strategyI st = null; 
        
        if(true){
            st = new strategy01();
        }else{
            st = new strategy02();
        }
        
        System.out.println(st.getMessage());
    }
}
Mainクラスではインターフェースの変数にオブジェクトを格納することができるようになるので、Mainクラスではアルゴリズム部分を気にする必要がありません。

Back to top

Information
Information
社長ブログ


運営サイト




広告



Google Search
PV
SEO対策 大阪  税理士 相談  税理士 守口市  税理士 大阪市  税理士 枚方市  自動車ガラス 神戸  シール印刷 神戸  ブリリアントアパートメント  株式会社CONFRAGE  英会話 個人レッスン 京都市右京区  京都市右京区西京区でマンツーマン英会話 
このページはCONFRAGEの著作物です。このページを複製・転載することを禁じます。CopyRight(C)2003-2016 CONFRAGE All rights reserved.