কম্পিউটার

কিভাবে জাভাতে একটি সিঙ্গলটন এনাম তৈরি করবেন?


সিঙ্গলটন প্যাটার্ন একটি ক্লাসের ইনস্ট্যান্টেশনকে একটি বস্তুতে সীমাবদ্ধ করে। উদাহরণ একটি পাবলিক স্ট্যাটিক ফাইনাল ক্ষেত্র যা enum প্রতিনিধিত্ব করে দৃষ্টান্ত. আমরা EnumSingleton.INSTANCE দিয়ে ক্লাসের উদাহরণ পেতে পারি কিন্তু আমরা যদি ইমপ্লিমেন্টেশন পরিবর্তন করতে চাই তাহলে এটাকে গেটারে এনক্যাপসুলেট করা ভালো।

জাভা

তে সিঙ্গলটন হিসাবে আমরা কেন একটি enum ব্যবহার করতে পারি তার কয়েকটি কারণ রয়েছে
  • এক দৃষ্টান্তের নিশ্চয়তা (এমনকি প্রতিফলনের মাধ্যমেও একাধিক এনাম ইনস্ট্যান্ট করা যাবে না)।
  • থ্রেড-সেফ।
  • ক্রমিকীকরণ।

সিনট্যাক্স

public enum Singleton {
   INSTANCE;
   private singleton() {
   }
}

উদাহরণ

public enum EnumSingleton {
   INSTANCE;
   private String name;
   private int age;
   private void build(SingletonBuilder builder) {
      this.name = builder.name;
      this.age = builder.age;
   }
   public static EnumSingleton getSingleton() { // static getter
      return INSTANCE;
   }
   public void print() {
      System.out.println("Name: "+name + ", age: "+age);
   }
   public static class SingletonBuilder {
      private final String name;
      private int age;
      private SingletonBuilder() {
         name = null;
      }
      public SingletonBuilder(String name) {
         this.name = name;
      }
      public SingletonBuilder age(int age) {
         this.age = age;
         return this;
      }
      public void build() {
         EnumSingleton.INSTANCE.build(this);
      }
   }
   public static void main(String[] args) {
      new SingletonBuilder("Adithya").age(25).build();
      EnumSingleton.getSingleton().print();
   }
}

আউটপুট

Name: Adithya, age: 25

  1. কিভাবে একটি QR কোড তৈরি করবেন

  2. আমরা কিভাবে JTextField জাভাতে শুধুমাত্র সংখ্যা গ্রহণ করতে পারি?

  3. কীভাবে জাভাতে একটি ব্যতিক্রম পুনরুদ্ধার করবেন?

  4. কিভাবে জাভাতে JSON পার্স করবেন