チュートリアルのシングルトンデザインパターンシリーズ - はじめに原則

チュートリアルのシングルトンデザインパターンシリーズ - はじめに原則


:シングルトンパターン(シングルトン)学習ステップ

document_image_rId9.png

古典的なシングルトンの原則:

この記事の出所:凱歌のJava(WX:kaigejava)

のは、Singletonパターンを紹介してみましょう:

document_image_rId10.png

その焦点は、システムのクラスオブジェクトインスタンスを1つだけにすることです。聖書を理解するには?

私たちは、数学と論理から理解:定義シングルトン「は、唯一の」手段です。

さんが代わりにどのようなシングルトンパターンの重要性を理解するために使用される一つのケースを見てみましょう:

たとえば、スレッドプールは、当社のシステム、データソース、キャッシュ、およびハードウェアや他の機器に使用しました。

スレッドプール、キャッシュから、我々は重要シングルトンパターンを見ることができます:あなたは複数のインスタンスを持っている場合はまとめて、あなたが得ることができ、この問題を解決するために、不整合やその他の問題の結果に基づいて、競合を1つ作成し、システムで唯一その上のオブジェクト。

考えます:

1:私はそれを達成するための方法のように静的変数を使用することはできますか?

実際には、ビューのポイントを使用することから、このアプローチも可能です。

2:グローバル変数を行うことができますプログラマの間で交渉?

ビューのポイントを使用することから、そうするためにすることも可能です。

要約:

シングルトンは、クラスの最大1つのインスタンスを確保し、グローバルなアクセスを提供します。

どのようにシングルトンクラスそれを設定するには?

思考のポイント:

1:クラスが任意に構築することがないようにしますか?

2:あなたは、任意のクラスを構築することができない場合ので、あなたは何をするか、このクラスを使用したい場合は?

一つの問題:私たちはどのように作成するためにされ、通常のクラスを作成し、見てみましょうか?

=新しい学生学生のstudnet();

作成する新しいキーワードを使用しました。>両方の引数なしのコンストラクタ - 我々はまた、実際には、クラスのデフォルトコンストラクタと呼ばれ、新しいキーワードを使用してクラスを作成することを知っています。

あなたが唯一のクラス、民営化のコンストラクタを、したいそうであれば、あなたはクラスを作成するには、引数なしのコンストラクタを使用していない新しいキーワードを使用することはできません。これは、クラスが意のままに作成されないことを保証します。

質問2:コンストラクタが民営化されている場合は、どのように行うにクラスを使用するようにしたいですか?

学生はクラスの新しい学生(かもしれない)、その後、外に取得するためのpublic staticメソッドを提供します。

図クラスは、古典的な、単一の実施の形態を見て:

document_image_rId11.png

わかりました。このセクションでは、モードが完了した単一の実施形態の原理を説明します。次のレッスンで、私たちは、小さな例で、コードのシングルモードでの使用します

凱歌個人のブログ:www.kaigejava.com

問い合わせ凱歌 - >公共凱歌数:凱歌のJava(kaigejava)

この記事カイコーブログアドレス:http://kaigejava.com/gwjeesns/article/detail/549


おすすめ

転載: blog.51cto.com/kaigejava/2431241