JavaRush /Blog Java /Random-PL /Dlaczego Singleton jest potrzebny?
KarmaHacker
Poziom 30
Новосибирск

Dlaczego Singleton jest potrzebny?

Opublikowano w grupie Random-PL
Obecnie rozwiązuję duży problem na poziomie 27. Tam jesteśmy proszeni o utworzenie klasy StatisticManager i uczynienie jej singletonem. Ok, nie ma problemu! Później w innych klasach programu muszę wywoływać metody StatistcManagera i tutaj zaczynają mnie spotykać drobne irytujące momenty, muszę napisać zmienną referencyjną StatisticManager statisticManager = StatisticManager.getInstance(); statisticManager.method(); albo tak: StatisticManager.getInstance().method(); To dużo dodatkowych liter! Znacznie łatwiej byłoby uczynić klasę statyczną i napisać ją w ten sposób: StatisticManager.method(); Myślę, że może singleton ma coś do zyskania w porównaniu z klasą statyczną? Przeczytałem artykuł o Habré i tylko pogłębiłem swoje wątpliwości. Singleton, przynajmniej w tym zadaniu, jest zbędny. Jak na razie widzę tylko jedno zastosowanie singletona - jeśli potrzebujemy oszczędzać zasoby i stworzyć obiekt nie od razu, ale później, kiedy tego potrzebujemy. W innych przypadkach klasa statyczna jest w porządku. Na Habré też piszą coś o dziedziczeniu, ale ja ledwo wyobrażam sobie taką sytuację i pewnie niezbyt często też. Jeśli się mylę, popraw mnie proszę. Chcę tylko lepiej zrozumieć zasady projektowania i może pomoże to komuś innemu to rozgryźć :)
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION