シングルトン設計パターンによって解決される問題: メモリ内でのクラスのオブジェクトの一意性の確保。
例: 複数のプログラムが構成ファイルを読み取る場合、構成ファイルをオブジェクトにカプセル化することをお勧めします。その中のデータを操作するのに便利です。また、複数のプログラムが同じ構成ファイル オブジェクトを確実に読み取るために、構成ファイル オブジェクトはメモリ内で一意である必要があります。
Runtime() メソッドは、シングルトン設計パターンに従って設計されています
オブジェクトの一意性を確保するという考え方:
1 他のプログラムを許可しない。このタイプのオブジェクトを作成するには
2. このクラスのオブジェクトを作成して、他のプログラムがこのオブジェクトを取得できるようにします。
オブジェクトの一意性を確保する手順:
1.オブジェクトの作成にはコンストラクターの初期化が必要なので、このクラスのコンストラクターをプライベート化するだけです。他のプログラムではできませんこのクラスのオブジェクトを作成します。2.クラス内にこのクラスのオブジェクトを作成します。
定義オブジェクトを返すメソッド。これにより、他のプログラムはこのメソッドを通じてこのタイプのオブジェクトを取得できます。 (関数: 制御可能)
コード反映: 1. プライベートコンストラクター。
2. プライベートオブジェクトと静的オブジェクトを作成するこのクラスの
3. オブジェクトを返すパブリックおよび静的メソッドを定義します。 -------------------------------------------- --- ---------------------------------- /** ******* お腹を空かせた中華風 ************* / class Single(){ private Single(){} //プライベートコンストラクター private static Single sg = new Single();//このクラスのプライベートで静的なオブジェクトを作成します public static Single getInstance(){ //パブリック静的メソッドを定義し、 object return sg; / *********** Lazy Man スタイル: Lazy Loading メソッド *********/ class Single2(){ private Single2(){} private static Single2 sg2 = null; public static Single2 getInstance(){ if( null == sg2 ){ sg2 = new Single2(); return sg2; } } }
以上がシングルトン設計パターンとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。