php単例モードの理解


単例は最も古典的な設計モデルの一つとして、いったい何が単例なのか.なぜ単例を使うのですか.どのように単例を設計しますか?phpの単例はどのように具体的に実現しますか?
一、単例とは何か
Wiki百科:単例モードは、単子モードとも呼ばれ、よく使われるソフトウェア設計モードです.このモードを適用する場合、単一のオブジェクトのクラスは、1つのインスタンスのみが存在することを保証する必要があります.多くの場合、システム全体が1つのグローバルオブジェクトを持つだけで、システム全体の動作を調整するのに役立ちます.
通俗的に言えば、 です.
二、どうして単例を使うのか
実際の項目における像数 , , , などのモジュール.これらのモジュールは ですが、 が必要で、ができればパフォーマンスが大幅に向上します.これが単例の存在の必要性である.
単一モードのメリット:
  • 1:頻繁な作成を減らし、cpuを節約します.
  • 2:静的オブジェクトは共通で、メモリを節約します.
  • 3:機能がデカップリングされ、コードが維持されています.

  • 三、どのように単例を設計するか
    上述したように、一例のコアは、 , , である.したがって、単一のパターンには、次の3つの要素が含まれている必要があります.
  • 1:私有化構造関数、私有化clone.つまりnewできない、cloneできない.【唯一】
  • 2:現在のクラスを保存するための静的変数があります.【唯一の保存方法】
  • :共通のアクセスポートを提供します.【アクセス可能】
  • 四、php実現
    php実装の単一モード
    singletonFunc();
    
    $singleInstance2 = XiaozhuaiSingleton::getInstance();
    $singleInstance2->singletonFunc();
    
    //          
    var_dump($singleInstance === $singleInstance2);  // true ,    
    

    【転載は明記してください:php単例モードを理解します|頼りになる崔小拉】