A Singleton Design Pattern
Lenyege: az alkalmazasban csak egyetlen egy peldanya lehessen az adott objektumnak:
Megvalositas:
Tobbnyire ugy tortenik hogy a konstruktort privatta teszed, aztan csinalsz egy metodust amin keresztul vagy letrehozod az objektumot vagy visszaadod az egyetlen, mar letrehozott cuccot. Kb igy:
class MySingleton {
private MySingleton() {}MySingleton instance;public static synchronized MySingleton getInstance() {
if(instance == null){
instance = new MySingleton()
}
return instance;
}Hat ennyi. Valojaban persze csak az adott
classloaderen belul lesz singleton, de ez tobbnyire eleg.
Mivel kicsit nehezen kezelheto eset, furi refaktoralni is, ezert
antipattern dijra lett eloterjesztve tobb esetben is. A
GSD tobb fajtajat kulonbozteti meg, erdemes elolvasni.
Lasd:
Design Patterns