PHP の例を使用したシングルトン パターンの理解

PHPz
リリース: 2024-08-25 06:39:32
オリジナル
680 人が閲覧しました

Understanding the Singleton Pattern with PHP Example

PHP の例を使用したシングルトン パターンの理解

シングルトン パターンは、クラスのインスタンス化を単一のインスタンスに制限する設計パターンです。これは、システム全体のアクションを調整するために 1 つのオブジェクトだけが必要な場合に特に便利です。

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

  • プライベート コンストラクター: クラス外からの直接インスタンス化を防ぎます。
  • 静的メソッド: インスタンスへのグローバル アクセス ポイントを提供します。
  • 遅延初期化: インスタンスは必要な場合にのみ作成されます。

このシナリオを想像してみてください

シングルトン パターンをよりよく理解するために、1 人だけが所有できる特別なおもちゃを持つように、もっと単純な言葉で考えてみましょう。仕組みは次のとおりです:

  1. ワントイ:とても特別な魔法の杖を想像してみてください。この魔法の杖を一度に持てるのは 1 人の子供だけです。他の人が使いたい場合は、その子に頼まなければなりません

  2. 安全に保つ: この子は、他の人が勝手につかんで持ち去ってしまうことがないように、魔法の杖を安全な場所 ​​(おもちゃ箱など) に保管しています。

  3. おもちゃを求める: 友達が魔法の杖で遊びたいときは、特別な子供に頼む必要があります。お子様は共有しますが、いつどのように共有するかを決定できるのはお子様だけです。
  4. これがシングルトンパターンとどのように関連するか

    1 つのインスタンス: 魔法の杖が 1 つだけあるのと同じように、シングルトン パターンでは、クラスのインスタンス (またはコピー) が 1 つだけあります。このクラスは、オブジェクト (おもちゃなど) を作成するための青写真と考えることができます。
  • プライベートアクセス: おもちゃ箱 (またはコンストラクター) は他の人には閉鎖されています。これは、誰も新しい魔法の杖を作成できないことを意味します。彼らは存在する 1 つの杖を使用する必要があります。

  • おもちゃの入手: 誰かが魔法の杖 (またはクラス) を使用したいときは、特別なドア (getInstance() と呼ばれるメソッド) を通過する必要があります。このドアは、魔法の杖がすでにそこにあるかどうかを確認します。そうでない場合は、それを作成して子供たちに渡します。

  • PHPの例
  • PHP でのシングルトン パターンの簡単な実装を次に示します。

  • リーリー
まとめ

この例えでは:


魔法の杖はシングルトン クラスを表します。

One Child は、アクセスを制御する単一のインスタンスを象徴しています。

Toy Box はコンストラクターをプライベートに保ち、誰も追加のインスタンスを作成できないようにします。
  • 特別なドアは、魔法の杖へのアクセスを許可する getInstance() メソッドです。
  • 魔法の杖を持てるのは子供が 1 人だけであるのと同じように、プログラミングではシングルトン パターンを利用して、クラスのインスタンスが 1 つだけ存在するようにし、全員が使用したいときにそのインスタンスを要求する必要があります。
  • このパターンは、リソースを効率的に管理し、アプリケーション全体で一貫した状態を維持するのに役立ち、ソフトウェア設計において不可欠な概念となっています。
  • リファクタリングの達人 - シングルトン パターン

以上がPHP の例を使用したシングルトン パターンの理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!