কম্পিউটার টিউটোরিয়াল

সি++-এ সিঙ্গেলটন ক্লাস (Singleton Class) লিখা


সিঙ্গেলটন ডিজাইন প্যাটার্ন হলো একটি সফটওয়্যার ডিজাইন নীতি যা একটি ক্লাসের ইনস্ট্যানশিয়েশনকে একটি অবজেক্টে সীমাবদ্ধ করে। এটি তখন উপকারী যখন সিস্টেম জুড়ে অ্যাকশন কোঅর্ডিনেট করার জন্য সঠিকভাবে একটি অবজেক্ট দরকার হয়। উদাহরণস্বরূপ, যদি আপনি একটি লগার ব্যবহার করেন যা ফাইলে লগ লিখে, তবে আপনি সিঙ্গেলটন ক্লাস ব্যবহার করে এমন একটি লগার তৈরি করতে পারেন। নিচের কোড ব্যবহার করে আপনি একটি সিঙ্গেলটন ক্লাস তৈরি করতে পারেন।

উদাহরণ

#include <iostream>
using namespace std;

class Singleton {
    static Singleton *instance;
    int data;
    // প্রাইভেট কনস্ট্রাক্টর যাতে কোনো অবজেক্ট তৈরি করা না যায়
    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;
    }
};

// পয়েন্টারকে শূন্যয় ইনিশিয়ালাইজ করা যাতে 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. অ্যান্ড্রয়েডে সিঙ্গলটন ক্লাস কীভাবে ব্যবহার করবেন?

  2. C#-এ সিঙ্গলটন প্যাটার্ন ইমপ্লিমেন্টেশন

  3. জাভাতে ক্লাসকে সিঙ্গলটন বানান

  4. পাইথনে সিঙ্গলটন ক্লাস কীভাবে তৈরি করবেন?