Jeśli żaden komponent nie będzie wykorzystywać klasy, system nie przydzieli jej zasobów.

Konsekwencje stosowania Zalety:

singleton nie musi ograniczać się do obsługi pojedynczej instancji klasy – przy niewielkiej zmianie podejścia można za jego pomocą zarządzać także większą liczbą obiektów, klasa zaimplementowana z użyciem wzorca singleton może samodzielnie kontrolować liczbę swoich instancji istniejących w systemie, proces pobierania instancji klasy jest niewidoczny dla użytkownika. Nie musi on wiedzieć, czy w chwili wywołania metody instancja istnieje czy dopiero jest tworzona, tworzenie nowej instancji ma charakter leniwy, tj. zachodzi dopiero przy pierwszej próbie użycia. Jeśli żaden komponent nie zdecyduje się korzystać z klasy, jej instancji nie będą niepotrzebnie przydzielone zasoby.

Wady:

brak elastyczności, bo już na poziomie kodu jest na sztywno określona liczba instancji, jakie mogą istnieć w systemie poważnie utrudnia testowanie aplikacji przez wprowadzenie do niej globalnego stanu łamie zasadę jednej odpowiedzialności łamie zasadę otwarte-zamknięte nie można go rozszerzyć