Deo zbornika Uvod u softversko inženjerstvo
Jedinac (Singleton)
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 singularni obrazac (jedinac ili singleton), 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