Singleton (designmönster)
Utseende
Den här artikeln behöver källhänvisningar för att kunna verifieras. (2020-12) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
Singleton är ett designmönster inom datavetenskap som innebär att man begränsar antalet instanser av en klass till ett objekt.
Exempel på implementation
[redigera | redigera wikitext]Singleton implementeras genom att man skapar en klass med en metod som skapar en instans om det inte redan finns en. Om det finns en instans av klassen, returnerar metoden en referens av det objektet. För att förhindra skapandet av flera instanser görs konstruktorn privat (private) eller skyddad (protected).
Idén med en singletonklass är alltså att det i programmet bara kommer att finnas en och endast en instans av klassen och att den som använder klassen inte behöver veta när den skapas. Singletonklassen skapas första gången någon ber om en referens till klassen.
Java
[redigera | redigera wikitext]public class Singleton {
// Privat konstruktor som förhindrar att det skapas en publik automatiskt
private Singleton() {}
private static class SingletonHolder {
private static Singleton instance = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.instance;
}
}
|