Deo zbornika Uvod u softversko inženjerstvo

Jedinac (Singleton)

Email Twitter LinkedIn Facebook Google

Zamislimo da pravimo aplikaciju u kojoj treba da omogućimo instanciranje samo jednog objekta neke klase, tj. da omogućimo jedinstvenost.

Mogli bismo da lupamo glavu, na kraju da potrošimo vreme i sigurno (pošto smo veoma dobri programeri) dođemo do rešenja, ali mnogo bismo vremena uštedeli ako poznajemo Singleton obrazac, koji na siguran, proveren i jednostavan način ovo omogućava.

Primer

Evo UML predstave Singletona:

A evo i realizacije ovog projektnog obrasca u JAVA jeziku:

public class Singleton
{
  // Private constructor suppresses generation of a (public) default constructor
  private Singleton() {}

  private static class SingletonHolder
  {
    private final static Singleton INSTANCE = new Singleton();
  }

  public static Singleton getInstance()
  {
    return SingletonHolder.INSTANCE;
  }
}

Izvor: Sensei’s thoughts