ホームページ >バックエンド開発 >PHPチュートリアル >PHP のシングルトン モードとファクトリー モード
シングルトンパターンとは、クラスがアプリケーション全体でオブジェクトインスタンスを1つだけ持つ設計パターンを指します。
クラスはアプリケーション全体でインスタンスを一つだけ持つ
クラスはこのインスタンスを自ら生成しなければならない
このインスタンスを自らシステム全体に提供しなければならない
PHP での操作のほとんどには、mysql、redis、memcache、その他のリレーショナル データベースや非リレーショナル データベースを含むさまざまなデータベースの処理が含まれるため、データベースに接続するための操作が多数発生します。アプリケーションでシングルトン モードが使用されていない場合は、毎回新しい操作が必要になりますが、そのたびに大量のメモリ リソースとシステム リソースが消費され、データベース接続がオープンおよびクローズされるたびに、大きな負担がかかります。テストとデータベースの無駄。
クラスの唯一のインスタンスを保存するには、静的メンバー変数が必要です (通常、$instance はプライベート変数です)
外部プログラムが新しいクラスとシングルトンモードの意味を失う
このインスタンスにアクセスするにはパブリック静的メソッドを提供する必要があり、それによって一意のインスタンスへの参照を返します
//设计模式 //单例模式 都是使用同一个对象 //class Ren //{ // public $name; // private static $dx; //存储对象 // // private function __construct() // { // // } // // public static function DuiXiang() // { // if(empty(self::$dx)) // { // self:;$dx=new Ren(); // } // return self::$dx; // } //} // //$r= Ren::DuiXiang(); //把构造函数变为私有 //做了一个方法来间接造对象 //在该方法里面加限制
Factoryクラス
特に使用されるメソッドを含むクラスを指しますファクトリ クラスはポリモーフィックです 実際には、柔軟なプログラミングが重要です。これにより、クラスの動的な置換や構成の変更が可能になり、一般にアプリケーションがより柔軟になります。上級の PHP 開発者にとって、ファクトリ パターンに習熟することが重要です。
ファクトリ パターンは通常、同様のインターフェイスに準拠するさまざまなクラスを返すために使用されます。ファクトリの一般的な用途は、アプリケーション ロジックや構成設定に基づいてどのクラスをインスタンス化するかを決定できるようにすることです。このようなプロバイダーを使用すると、新しい拡張名を使用するためにアプリケーションの他の部分をリファクタリングすることなく、クラスを拡張できます。
通常、ファクトリ パターンにはキー構造があり、一般原則に従って Factory という名前の静的メソッドになります。ただし、これは単なる原則であり、この静的メソッドは任意のデータのパラメータを受け入れることもできます。そしてオブジェクトを返さなければなりません。
class YunSuan { public $a; public $b; function Suan() { echo "对两个数进行运算"; }rreeee
PHP のシングルトン モードとファクトリー モードに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。