Singleton
Singleton (česky jedináček) je návrhový vzor, který využijeme při řešení problému, kdy je potřeba, aby v celém programu běžela pouze jedna instance třídy. Tento návrhový vzor zabezpečí, že třída bude mít pouze jedinou instanci a poskytne k ní globální přístupový bod. To můžeme potřebovat například pro různé třídy, které něco řídí a vznik více instancí takovýchto Manager tříd by způsoboval chaos (např. třída zajišťující přístup k databázi) nebo například pro různé messengery apod.
Realizace tohoto návrhového vzoru spočívá v implementaci public konstruktoru a metody getInstance(), která zkontroluje zda ještě nebyla instance vytvořena a podle toho vrátí již existující instanci, nebo vytvoří novou.
public class Jedinacek{
private static Jedinacek instance;
//zablokovani konstruktoru:
private Jedinacek(){}
//metoda pro vytvoreni objektu (misto konstruktoru)
public getInstance(){
if (instance == null){
instance = new Jedinacek ();
}
return instance;
}