JavaRush /Java блог /Random UA /Навіщо потрібний Singleton?
KarmaHacker
30 рівень
Новосибирск

Навіщо потрібний Singleton?

Стаття з групи Random UA
Вирішаю зараз велике завдання 27 рівня. Там нас просять створити клас StatisticManager та зробити його синглтоном. ОК без проблем! Надалі, в інших класах програми мені доводиться викликати методи StatistcManager'а, і тут я починаю стикатися з невеликими дратівливими моментами, доводиться писати посилальну змінну StatisticManager statisticManager = StatisticManager.getInstance(); statisticManager.method(); або так: StatisticManager.getInstance().method(); Це стільки зайвих літер! Набагато простіше було б зробити клас статичним і писати так: StatisticManager.method(); Думаю, напевно, синглтон у чомусь виграє перед статичним класом? Читаю статтю на Хабре і лише посилюю свої сумніви. Сінглтон як мінімум у цій задачі - надмірний. Поки що для себе бачу тільки одне застосування синглтона - якщо нам потрібно заощадити ресурси і створити об'єкт не відразу, а колись потім, коли він нам знадобиться. В інших випадках статичний клас – саме воно. На хабрі ще щось пишуть про спадкування, але слабко поки що можу собі уявити таку ситуацію, напевно, теж не дуже часто. Якщо я не прав, поправте мене, будь ласка. Просто хочу краще зрозуміти принципи проектування і можливо це допоможе розібратися комусь ще :)
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ