パターンはオブジェクト指向開発にとって非常に重要です。パターンは、特定のタスクを実行するオブジェクトを作成し、クラスの責任となるオブジェクトを作成するのに役立ちます。このパターンでは、クラスに関連するコードを変更せずにクラスを変更することもできます。これはクラスのポリモーフィズムと呼ばれます。
シングルトン パターンは責任パターンとも呼ばれ、アプリケーション内で単一の機能アクセス ポイントを作成するために使用されます。シングルトンの考え方と応用について話し合い、しっかりと理解しましょう。
複雑なシステムでは、シングルトン パターンの使用は、アプリケーション状態の同期を維持するのに特に役立ちます。すべてのシングルトン クラスには少なくとも次の 3 つの要素があります:
プログラムの実行結果:
リーリーこのアプリから見られる特別なものがあります。通常のクラスとは異なり、シングルトン クラスは直接インスタンス化できず、それ自体でのみインスタンス化できます。この効果を実現するには、__construct() メソッドをプライベートとしてマークする必要があります。プライベート コンストラクターを使用してオブジェクトを構築しようとすると、アクセス レベル エラーが発生します。
では、シングルトンクラスはどのように機能するのでしょうか?シングルトンクラスとは、他のクラスにインスタンスを提供し、それを使ってさまざまなメソッドを呼び出すクラスです。シングルトン クラスは内部に格納されたインスタンスを通じて参照を返すため、シングルトン クラスがメモリとシステム リソースを繰り返し占有することがなくなり、アプリケーションの他の部分がリソースを効率的に使用できるようになります。したがって、データベース アクセスを構築するにはシングルトン モードを使用するのが最善です。これにより、データベース接続インスタンスが過剰に作成されなくなり、システムがより高速に実行できるようになります。
オブジェクトがコピーまたは複製されないようにするには、空の __clone() メソッドが必要です。
self::$instance はクラスが初期化されているかどうかを検出できます。インスタンスを保持する静的メンバーが空であるか、まだクラス自体のインスタンスではない場合、インスタンスが作成され、インスタンスを保持する変数に保存されます。
プライベートコンストラクターやそれ自体への参照を持たないルーズシングルトン。それが今でもパターンとして考えられているかどうかはわかりません。
リーリープログラムの実行結果:
リーリーこのシングルトンクラスの使い方は?
リーリーつまり、オブジェクトの取得方法が少し異なり、その使用方法は他のオブジェクトと変わりません。