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;

}