C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++シングルトンデザインパターンを説明します。


シングルトンデザインパターンは、クラスのインスタンス化を1つのオブジェクトに制限するために使用されるソフトウェアデザインの原則です。これは、システム全体でアクションを調整するために1つのオブジェクトが必要な場合に役立ちます。たとえば、ログをファイルに書き込むロガーを使用している場合は、シングルトンクラスを使用してそのようなロガーを作成できます。次のコードを使用してシングルトンクラスを作成できます-

#include <iostream>

using namespace std;

class Singleton {
   static Singleton *instance;
   int data;
 
   // Private constructor so that no objects can be created.
   Singleton() {
      data = 0;
   }

   public:
   static Singleton *getInstance() {
      if (!instance)
      instance = new Singleton;
      return instance;
   }

   int getData() {
      return this -> data;
   }

   void setData(int data) {
      this -> data = data;
   }
};

//Initialize pointer to zero so that it can be initialized in first call to getInstance
Singleton *Singleton::instance = 0;

int main(){
   Singleton *s = s->getInstance();
   cout << s->getData() << endl;
   s->setData(100);
   cout << s->getData() << endl;
   return 0;
}
出力 これにより出力が得られます-

0
100

  1. C++での複合デザインパターン

    複合パターンは、オブジェクトのグループを単一のオブジェクトと同じように扱う必要がある場合に使用されます。複合パターンは、階層全体だけでなく一部を表すために、ツリー構造の観点からオブジェクトを構成します。このタイプのデザインパターンは、オブジェクトのグループのツリー構造を作成するため、構造パターンに分類されます。 このパターンは、独自のオブジェクトのグループを含むクラスを作成します。このクラスは、同じオブジェクトのグループを変更する方法を提供します。 組織の従業員階層を示す次の例を使用して、複合パターンの使用を示しています。 ここでは、コンポジットとリーフの両方のクラスがコンポーネン

  2. C#でシングルトンデザインパターンを実装するにはどうすればよいですか?

    シングルトンパターンは作成型パターンに属します シングルトンデザインパターンは、特定のクラスの1つのオブジェクトのみがインスタンス化されるようにする必要がある場合に使用されます。作成されたその単一のインスタンスは、アプリケーション全体のアクションを調整する責任があります。 実装ガイドラインの一部として、クラスのすべてのコンストラクターをプライベートとして宣言することにより、クラスのインスタンスが1つだけ存在するようにする必要があります。また、シングルトンアクセスを制御するには、オブジェクトの単一インスタンスを返す静的プロパティを提供する必要があります。 例 封印されていると、継承されるク