ホームページ >php教程 >php手册 >シングルトン モードは一般的にシングルトン 3 ステップ + 1 ソングとして知られています

シングルトン モードは一般的にシングルトン 3 ステップ + 1 ソングとして知られています

WBOY
WBOYオリジナル
2016-10-15 10:31:481523ブラウズ

シングルトンパターンとは何ですか?
この設計パターンでは、アプリケーション全体でこのクラスを通じて 1 つのオブジェクト インスタンスのみをインスタンス化できます

パターン分類?

すべてのパターン設計には、シングルトン パターン、ファクトリー パターン、登録ツリー パターンの 3 つの基本的なデザイン パターンがあります。今日はシングルトン パターンをベースにしています。


なぜシングルトンパターンを使用するのですか?
1. PHP はデータベースを扱うことが多く、接続オブジェクトが頻繁に確立され、アプリケーションで新しい操作が実行されると、大量のシステム メモリ リソースが消費されます。 (リソースのオーバーヘッドを節約します)
2.チーム協力プロジェクトでは、シングルトン モードは、さまざまなプログラマが独自のオブジェクトを新規作成することによって引き起こされる人為的なシステム消費を効果的に回避できます。 (リソースのオーバーヘッドを節約)


------------------1 インスタンスで 3 ステップ + 1 曲を達成 ------------------

ステップ 1: コンストラクター メソッドをカプセル化する private __construct( ) { }
理由: コンストラクターは、new がオブジェクトを作成するときに呼び出される最初のメソッドであり、コンストラクターは失敗することが決まっています。 new を通じてインスタンス オブジェクトを作成します。

ステップ 2: クラス内のメソッドを通じてオブジェクト インスタンスを作成します。 static Single(){ }
理由: オブジェクトを作成した後にオブジェクトのメソッドを呼び出すことがよくありますが、このとき、オブジェクトを作成するためにクラス内のメソッドを呼び出す必要があります。オブジェクトが作成されたかどうかに関係なく呼び出すことができるメソッドの解決策は、間違いなくキーワード --static
を使用することです。

ステップ 3: カプセル化された静的変数を定義します private static $instance
理由: インスタンス化された唯一のオブジェクトをこの変数に入れて保存します
ステップ 4 (+ 1 曲): プライベート クローン作成の魔法の方法: __c lo n e ();
理由: クラスのオブジェクトの場合、「clone 演算子」を使用すると、現在のオブジェクトとまったく同じ新しいオブジェクトが複製されます。このとき、この新しいオブジェクトはこのメソッドが存在する限り、クラス内のマジック メソッドも自動的に呼び出されます: _ _c l o n e (); コードデモ
リーリー


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