Autumn SALE
Singleton

Singleton w języku Java

Singleton to kreacyjny wzorzec projektowy gwarantujący istnienie tylko jednego obiektu danego rodzaju. Udostępnia też pojedynczy punkt dostępowy do takiego obiektu z dowolnego miejsca w programie.

Singleton charakteryzuje się prawie takimi samymi zaletami i wadami jak zmienne globalne i chociaż jest bardzo poręczny, to jednak psuje modularność kodu.

Nie można przenieść klasy zależnej od Singletona i użyć jej w innym kontekście bez równoczesnego przeniesienia tego drugiego. To ograniczenie zazwyczaj ujawnia się na etapie tworzenia testów jednostkowych.

Złożoność:

Popularność:

Przykłady użycia: Wielu twórców oprogramowania uważa Singleton za antywzorzec, przez co jego użycie w kodzie Java stopniowo maleje.

Pomimo tego, w głównych bibliotekach Java można znaleźć mnóstwo przykładów zastosowania tego wzorca:

Identyfikacja: Singleton można rozpoznać po statycznej metodzie kreacyjnej zwracającej jakiś obiekt którego instancja jest przechowywana w pamięci podręcznej.

Singleton w innych językach

Singleton w języku C# Singleton w języku C++ Singleton w języku Go Singleton w języku PHP Singleton w języku Python Singleton w języku Ruby Singleton w języku Rust Singleton w języku Swift Singleton w języku TypeScript