ホームページ >よくある問題 >シングルトンパターンとは何ですか?

シングルトンパターンとは何ですか?

Guanhui
Guanhuiオリジナル
2020-06-28 17:50:273292ブラウズ

シングルトン モードは、型を作成する一般的に使用されるソフトウェア デザイン パターンです。このモードのメソッドで作成されたクラスは、現在のプロセスにインスタンスを 1 つだけ持ちます。その利点により、すべてのオブジェクトが一意のインスタンスに確実にアクセスできるようになります。メモリのオーバーヘッドとシステム パフォーマンスのオーバーヘッドを削減します。

シングルトンパターンとは何ですか?

#シングルトン パターンは、デザイン パターンの最も単純な形式の 1 つです。このパターンの目的は、クラスのオブジェクトをシステム内の唯一のインスタンスにすることです。これを実現するには、まずクライアント側でインスタンスを作成します。したがって、オブジェクト クラスの一意のインスタンスの生成のみを許可し、生成されるオブジェクトへのすべてのアクセスを「ブロック」するメカニズムを使用する必要があります。ファクトリ メソッドを使用して、インスタンス化プロセスを制限します。クラスのインスタンスに別の一意のインスタンスを生成しても意味がないため、このメソッドは静的メソッド (クラス メソッド) である必要があります。

シングルトン モードの実装方法

通常、Java 言語でのシングルトン モードの構築方法は 2 つあります:

  • Lazy スタイル - スレッドアンセーフ: 最も基本的な実装方法であるスレッド コンテキスト シングルトンは、すべてのスレッドで共有する必要はなく、パフォーマンスを向上させるために同期などのロックを追加する必要もありません。

  • #遅延モード - スレッド セーフ: スレッド セーフを確保するための同期などの遅延モードと組み合わせると、相対的なパフォーマンスが非常に低くなり、ほとんどの場合、同期は必要ありません

  • ハングリーマン・ウェイ。クラスのロード時に構築されるグローバル シングルトン インスタンスを指します。

  • #ロックの種類を再確認してください。遅延スタイルに基づいて、スレッド間の競合がないように synchronize キーワードと volatile キーワードが使用され、最初の作成時に複数のインスタンスが生成されます。最初の作成のみが同期され、比較的高いパフォーマンスが得られます
  • 登録タイプ。作成されたクラスのグローバル プロパティとして存在します。
  • # 列挙は、作成されたクラスが読み込まれるときに作成されます。 Java の列挙クラス自体もシングルトン モードです
  • 推奨チュートリアル: "
  • PHP
"

以上がシングルトンパターンとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。