この記事では、複数のJavaデザインパターンについて説明します。次のように、参照のために共有してください。
1。複数の設計パターン定義
複数の設計パターンは、外部アプリケーションに複数のオブジェクトインスタンスが存在することです。これは、データベース接続プーリングのメタファーです。
2。複数ケースの静的クラス図
3。複数ケースパターンコードの実装
1。複数ケースモードコアクラス
パッケージcom.demo.multipleton; Import java.util.arraylist;/** *複数のケースパターン * * @author * */public class multipleton {//複数のケースの数Private static final int n = 10; // nインスタンスオブジェクトを保存するコンテナプライベートstatic arrayList <multipleton> list = new ArrayList <Multipleton>(n); //各オブジェクトのシリアル番号識別private int no; //プライベートコンストラクターは、外部アプリケーションがプライベートマルチプルトン(int no)のインスタンス化を防ぎます{this.no = no; system.out.println( " - multipletonオブジェクトを作成[" + no + "]!"); } // Instantiate nオブジェクトインスタンスstatic {//(int i = 0; i <n; i ++){list.add(new Multipleton(i))のMultipletonオブジェクトインスタンスを追加する; }} /** *ランダムgetRandomInstance(){//ランダム数int num =(int)(math.random() * n); // list return list.get(num)でオブジェクトインスタンスを取得します。 } public int getno(){return no; } public void setno(int no){this.no = no; }}2。複数ケースモードクライアント
パッケージcom.demo; import com.demo.multipleton.multipleton;/** *クライアントアプリケーション * * @author * */public class multipletonclient {/** * @param args */public static void main(String [] args){// Multipleton Object Instance MultiPleton = MultiTon.GetRantance() System.out.println( "Multipleton:" + multipleton.getno()); // Multipleton Object Instance Multipleton Multiton2 = MultiPleton.GetRandomInstance()を取得します。 System.out.println( "multipleton2:" + multipleton2.getno()); // 2つのオブジェクトが同じオブジェクトであるかどうかを比較します。if(multipleton == multipleton2){system.out.println( " - これは同じオブジェクトです!"); } else {system.out.println( " - これは別のオブジェクトです!"); }}}3。操作結果
-Multipletonオブジェクト[0]を作成します!
-Multipletonオブジェクト[1]を作成します!
-Multipletonオブジェクトを作成します[2]!
-Multipletonオブジェクト[3]を作成します!
-Multipletonオブジェクト[4]を作成します!
-Multipletonオブジェクト[5]を作成します!
-Multipletonオブジェクト[6]を作成します!
-Multipletonオブジェクト[7]を作成します!
-Multipletonオブジェクト[8]を作成します!
-Multipletonオブジェクトを作成します[9]!
Multipleton:2
Multipleton2:2
- これは同じオブジェクトです!
4。上記のプログラムを実行している結果から、2つの結論を導入できます
nインスタンスインスタンスオブジェクトをインスタンス化するプロセスは、1回のみ実行されます。
multipletonオブジェクトをランダムに取得します。
Java関連のコンテンツを増やすために、このサイトに興味のある読者は、「Javaオブジェクト指向プログラミングに関する紹介と高度なチュートリアル」、「Javaデータ構造とアルゴリズムに関するチュートリアル」、Java Operation domノードスキルの要約」、「Javaファイルの概要、およびJava操作スキルの概要」の概要を見ることができます。
この記事がみんなのJavaプログラミングに役立つことを願っています。