次の文章の質問 1: コンストラクターは実際には空ですが、さらに珍しいのは、コンストラクターが空の場合、以下でインスタンス化する方法です。
理由は何ですか?
。
シングルトン パターンは、一般的に使用されるソフトウェア設計パターンです。そのコア構造には、シングルトン クラスと呼ばれる特別なクラスが 1 つだけ含まれています。シングルトン モードでは、システム内にクラスのインスタンスが 1 つだけ存在し、外部からそのインスタンスに簡単にアクセスできるようにすることができるため、インスタンス数の制御が容易になり、システム リソースが節約されます。特定のクラスのオブジェクトを 1 つだけシステム内に存在させたい場合は、シングルトン パターンが最適なソリューションです。
http://baike.baidu.com/view/1859857.htm
プライベート関数 __construct(){}
は、クラスを外部からインスタンス化できず、プライベート メソッドはそれが定義されているクラス内でのみアクセスできることを意味します
クラス外 new Tpl
無効なコンテキストからプライベート Tpl::__construct() を呼び出すという致命的なエラーが発生します
シングルトンモードの書き方ですが、
プライベート関数 __clone(){} がありません
オブジェクトシングルトンモードのクローンを作成すると、シングルトンの本来の意図に違反します
クラスにとって、すべてのプロパティとメソッドが静的であるため、シングルトンであることは無意味です
静的プロパティはインスタンス間で共有されるため