シングルトン パターンと珍しいマルチトン パターンは、アプリケーション内のクラスの数を制御します。パターン名と同様、シングルトンは 1 回のみインスタンス化でき、オブジェクトは 1 つだけありますが、マルチインスタンス パターンは複数回インスタンス化できます。
シングルトンの特性に基づいて、アプリケーションを構成し、アプリケーション内でいつでもアクセスできる変数を定義するためにシングルトンを使用することがよくあります。ただし、シングルトンを使用するとグローバルな状態と
が生成されるため、使用が推奨されない場合があります。この単一のルート オブジェクトは、システム関数をカプセル化していません。多くの場合、これにより単体テストとデバッグが困難になります。読者は状況に応じて独自の判断を下します。
コード例:
リーリーマルチトンはシングルトンに似ていますが、後者はキー値を渡すために getInstance() 関数を必要とする点が異なります。
特定のキー値に対して一意のオブジェクト インスタンスのみが存在し、各ノードが一意の識別子を持ち、各ノードが 1 回の実行で複数回出現する可能性があります (cms のノードなど)。これらのノードを実装するには Multiton モードを使用します。Multiton はメモリを節約し、同じオブジェクトの複数のインスタンスが競合しないようにします。
例:
リーリー参考: PHP と mysql のエキスパート プログラミング
リーリー