この記事では、よく使用される 3 つの PHP デザイン パターン、シングルトン モード、ファクトリー モード、オブザーバー モードを紹介します。エディターで見てみましょう
1。 . モードの例
いわゆるシングルトン モードは、このクラスのインスタンスがアプリケーション内に 1 つだけ存在することを意味します。
通常、シングルトン パターンは、オブジェクトへのデータベース アクセスのみを許可するインスタンスで使用され、複数のデータベース接続が開かれるのを防ぎます。
シングルトン クラスには次の点が含まれている必要があります:
通常のクラスとは異なり、シングルトン クラスは直接インスタンス化できませんが、それ自体でのみインスタンス化できます。したがって、このような制限効果を得るには、コンストラクターをプライベートとしてマークする必要があります。
シングルトン クラスが直接インスタンス化されずに機能するには、そのようなインスタンスが提供される必要があります。したがって、シングルトン クラスには、クラスのインスタンスを保存できるプライベート静的メンバー変数と、インスタンスにアクセスできる対応するパブリック静的メソッドが必要です。
PHP では、シングルトン クラス オブジェクトのクローン作成によって上記のシングルトン クラスの実装形式が崩れることを防ぐために、通常、ベースに空のプライベート __clone() メソッドが提供されます。
シングルトン パターンは、クラスがインスタンスを 1 つだけ持つことを保証し、クラス自体をインスタンス化し、このインスタンスをシステム全体に提供します。
シングルトン パターンは、コンピューター システムでは、スレッド プール、キャッシュ、ログ オブジェクト、ダイアログ ボックス、プリンター、データベース操作、グラフィック カード ドライバーがシングルトンとして設計されることがよくあります。
シングルトン モードには、lazy-style シングルトン、hungry-style シングルトン、registration-style シングルトンの 3 種類があります。
シングルトンパターンには以下の3つの特徴があります:
1.インスタンスは 1 つだけ存在できます。
2.このインスタンスは自分で作成する必要があります。
3.このインスタンスは他のオブジェクトに提供する必要があります。
それでは、なぜ PHP シングルトン パターンを使用するのでしょうか?
PHP の主要なアプリケーション シナリオの 1 つは、アプリケーションでデータベース ハンドルをデータベースに接続する動作のために、多数の操作が行われることです。シングルトン モードでは、多数の新しい操作を回避できます。新しい操作が行われるたびにシステム リソースとメモリ リソースが消費されるためです。
PHP でよく使用される 3 つのデザイン パターンに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。