Zpo-5-wyk-Slajd14
Singleton: konsekwencje
Singleton jest przede wszystkim obiektowym sposobem na zapewnienie, że zostanie utworzona dokładnie jedna instancja klasy, która będzie dostępna dla wszystkich obiektów aplikacji. Warto zauważyć, że ten wzorzec pozwala także przenieść odpowiedzialność za tworzenie obiektu z klienta na dedykowaną metodę. Koncepcja ta zostanie dalej rozwinięta we wzorcach Factory Method i Abstract Factory.
Singleton jest zwykle obiektem bezstanowym, tzn. sposób działania metody statycznej nie zależy od stanu, w jakim znajduje się program: klient otrzymuje instancję klasy na żądanie, niezależnie od tego, czy została ona utworzona wcześniej, czy nie. Singleton pozwala także stosować dziedziczenie w celu zmiany przez siebie tworzonej klasy i zwracać także instancje podklas. Dołączenie podklasy do wzorca nie wymaga modyfikacji po stronie klienta.
Singleton w pewnym sensie może także być uważany za szczególny przypadek obiektu Pool of Objects; może także być stosunkowo łatwo rozszerzony do takiej postaci.