ホームページ  >  記事  >  バックエンド開発  >  PHP のシングルトン モードとファクトリー モード

PHP のシングルトン モードとファクトリー モード

高洛峰
高洛峰オリジナル
2017-02-18 16:22:251243ブラウズ

シングルトンパターンの概念

シングルトンパターンとは、クラスがアプリケーション全体でオブジェクトインスタンスを1つだけ持つ設計パターンを指します。

シングルトンパターンの特徴


クラスはアプリケーション全体でインスタンスを一つだけ持つ

クラスはこのインスタンスを自ら生成しなければならない

このインスタンスを自らシステム全体に提供しなければならない

その理由PHP でシングルトン パターンを使用する

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 サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。