কম্পিউটার

সি# এ সিঙ্গেলটন ডিজাইন প্যাটার্ন কীভাবে বাস্তবায়ন করবেন?


সিঙ্গেলটন প্যাটার্ন ক্রিয়েশনাল টাইপ প্যাটার্নের অন্তর্গত

সিঙ্গেলটন ডিজাইন প্যাটার্ন ব্যবহার করা হয় যখন আমরা নিশ্চিত করতে চাই যে একটি নির্দিষ্ট শ্রেণীর শুধুমাত্র একটি বস্তু তাৎক্ষণিক। তৈরি করা সেই একক দৃষ্টান্তটি অ্যাপ্লিকেশন জুড়ে ক্রিয়াগুলি সমন্বয় করার জন্য দায়ী৷

বাস্তবায়ন নির্দেশিকাগুলির অংশ হিসাবে আমাদের নিশ্চিত করতে হবে যে ক্লাসের সমস্ত কনস্ট্রাক্টরকে ব্যক্তিগত বলে ঘোষণা করে ক্লাসের শুধুমাত্র একটি উদাহরণ বিদ্যমান রয়েছে। এছাড়াও, সিঙ্গেলটন অ্যাক্সেস নিয়ন্ত্রণ করতে আমাদের একটি স্ট্যাটিক প্রপার্টি প্রদান করতে হবে যা বস্তুর একটি একক উদাহরণ প্রদান করে।

উদাহরণ

সিল করা নিশ্চিত করে যে ক্লাসটি উত্তরাধিকারসূত্রে প্রাপ্ত হচ্ছে এবং অবজেক্ট ইনস্ট্যান্টেশন প্রাপ্ত ক্লাসে সীমাবদ্ধ রয়েছে

প্রাইভেট প্রপার্টি নাল দিয়ে শুরু করা হয়েছে

নিশ্চিত করে যে বস্তুটির শুধুমাত্র একটি উদাহরণ তৈরি করা হয়েছে

শূন্য অবস্থার উপর ভিত্তি করে

প্রাইভেট কনস্ট্রাক্টর নিশ্চিত করে যে অবজেক্টটি ক্লাসের সাথে ছাড়া অন্য কোন অবস্থায় নেই

পাবলিক পদ্ধতি যা সিঙ্গলটন ইনস্ট্যান্সের মাধ্যমে আহ্বান করা যেতে পারে

public sealed class Singleton {
   private static int counter = 0;
   private static Singleton instance = null;
   public static Singleton GetInstance {
      get {
         if (instance == null)
         instance = new Singleton();
         return instance;
      }
   }
   private Singleton() {
      counter++;
      Console.WriteLine("Counter Value " + counter.ToString());
   }
   public void PrintDetails(string message) {
      Console.WriteLine(message);
   }
}
class Program {
   static void Main() {
      Singleton fromFacebook = Singleton.GetInstance;
      fromFacebook.PrintDetails("From Facebook");
      Singleton fromTwitter = Singleton.GetInstance;
      fromTwitter.PrintDetails("From Twitter");
      Console.ReadLine();
   }
}

আউটপুট

Counter Value 1
From Facebook
From Twitter

  1. কিভাবে অ্যান্ড্রয়েড পুল-টু-রিফ্রেশ বাস্তবায়ন করবেন?

  2. অ্যান্ড্রয়েডে সিঙ্গেলটন ইনস্ট্যান্স কীভাবে সাফ করবেন?

  3. C++ এ কম্পোজিট ডিজাইন প্যাটার্ন

  4. পাইথনে প্যাটার্ন কিভাবে প্রিন্ট করবেন?