単一ケースパターン:
パターン: 静的な作成メソッドを提供するか、コンストラクターで作成します。一般的に使用されるのは静的メソッドです。
1. コンストラクターのプライベート アクセス プロパティ
2. このクラスへの静的ポインター
3. 独自のメソッドを静的に作成します
以下は PHP での実装です。理論的には、getinstall はスレッド同期を追加する必要がありますが、まだ記述されていません。
<code><span><span><?php</span><span><span>class</span><span>myclass</span>{</span><span>public</span><span>static</span><span>$mydata1</span>=<span>NULL</span>; <span>private</span><span><span>function</span><span>__construct</span><span>()</span>{</span><span>echo</span><span>"构造函数<br>"</span>; } <span>public</span><span>static</span><span><span>function</span><span>getinstall</span><span>()</span> {</span><span>if</span> ( <span>self</span>::<span>$mydata1</span>==<span>null</span>) { <span>echo</span><span>"创建对象<br>"</span>; <span>self</span>::<span>$mydata1</span> = <span>new</span> myclass(); } <span>return</span><span>self</span>::<span>$mydata1</span>; } <span>public</span><span><span>function</span><span>test</span><span>()</span> {</span><span>echo</span><span>"hello2<br>"</span>; } } <span>$f</span> = myclass::getinstall(); <span>$f</span>->test(); <span>$f2</span> = myclass::getinstall(); <span>$f2</span>->test(); <span>?></span></span></code>
上記では、さまざまな側面を含めてシングルトン モードを紹介していますが、PHP チュートリアルに興味のある友人に役立つことを願っています。