Singleton Pattern

Pros

  • Ensures only one instance of the class exists
  • Gives global access to the single instance
  • Can use lazy initialization

Cons

  • More to think about when using multiple threads
  • Easy to use incorrectly

Example Explanation

class Main {
  public static void main(String[] args) {

    Singleton test = Singleton.getInstance();
    Singleton testTwo = Singleton.getInstance();

    test.setName( "Joe ");

    System.out.println(testTwo.getName()); //Joe
  }
}
class Singleton{

  private static Singleton instance;

  private static String name = "";

  private Singleton(){}

  public static Singleton getInstance(){

    if(instance==null){
      synchronized (Singleton.class) {
        instance = new Singleton();
      }
    }
    return instance;
  }

  public static String getName(){ return name; }
  public static void setName(String newName){ name = newName; }
}

Extra Resources

https://www.journaldev.com/1377/java-singleton-design-pattern-best-practices-examples

results matching ""

    No results matching ""