Stronę tą wyświetlono już: 3183 razy
Opis wzorca projektowego singleton
Wzorzec projektowy singleton należy do wzorców kreacyjnych a jego celem jest ograniczenie możliwości tworzenia wielu instancji danej klasy. W podstawowym założeniu jest ograniczenie liczby możliwych do utworzenia obiektów danej klasy do jednej instancji. W C++ efekt ten uzyskuje się poprzez utworzenie prywatnego lub chronionego konstruktora klasy oraz statycznej metody tejże klasy zawierającej statyczną zmienną będącą instancją tejże klasy, która jest przez ową metodę zwracana.
Diagram UML wzorca projektowego singleton
Powiedzmy, że tworzę dziennik wpisów, który ma być dostępny globalnie i przechowywać wpisy. Nie potrzebuję więc większej liczby takich obiektów więc tworzę klasę LogBook, która ma prywatny konstruktor. Dzięki zastosowaniu statycznej metody getInstance użytkownik otrzymuje dostęp do jedynej instancji klasy LogBook.
Przykładowa implementacja wzorca projektowego singleton w C++
Przykładowy wynik działania powyższego kodu:
Podaj wpis: Nam strzelać nie kazano Fri Aug 04 16:52:32 2017 Nam strzelać nie kazano Podaj wpis: Wstąpiłem na działo Fri Aug 04 16:52:32 2017 Nam strzelać nie kazano Fri Aug 04 16:52:41 2017 Wstąpiłem na działo