LINUX.ORG.RU
Ответ на: комментарий от iVS

а в том, что джуниоры, прочитав книжку по паттернам, начинают их лепить где попало.

для упрощения этого действия я добавил в Идею шаблон, так что достаточно выделить любой код, нажать пару кнопок, и он оборачивается в код создания синглтона. Инжой брайт идея!

stevejobs ★★★★☆
()
Ответ на: комментарий от Manhunt

Settings
Ты упоролся что ли?

так ты чо, собираешься для соблюдения функциональной чистоты файл settings.xml каждый раз заново перечитывать и парсить? А если количество обращений будет 100500 в секунду и твоя любовь к функциональной чистоте повлечет за собой жестоко 12309 с кровавым поносом?

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Нет, не собираюсь. Файл settings.xml должен перечитываться по одному разу на каждое нажатие пользователем кнопки Apply (или аналог такого нажатия). А по-твоему, без синглтона это сложно сделать? :D

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от Manhunt

Я так понимаю, что синглтон - это просто синтаксис для записи в Java суперглобальной переменной. В PHP есть $GLOBALS, в Scala достаточно в объявлении класса поменять слово class на object, а вот в Java нужно скопипастать из загашника огромную простыню кода.

Соответственно, синглтон это просто уродски выглядящая глобальная переменная, и его нужно использовать там, где используются глобальные переменные.

Файл settings.xml должен перечитываться по одному разу на каждое нажатие пользователем кнопки Apply

вычитываться КУДА? Кто-то же должен жить вечно и быть доступен достаточно везде? Чтобы любая часть веб-сервера могла, например, спросить «Settings.getHttpPort()» 100500 раз в секунду

щаз ты приплетешь Spring, давайте инжектить всё во всё, но в чём этот подход принципиально отличается от синглтона? Еще один уродский синтаксис для того же самого?

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Стиви, у меня есть ответы на твои вопросы, но нет мотивации их печатать. Скучно печатать банальные вещи. Прости.

Manhunt ★★★★★
()
Ответ на: комментарий от stevejobs

Я так понимаю, что синглтон - это просто синтаксис для записи в Java

Почему в Java?

anonymous
()
Ответ на: комментарий от stevejobs

скажи хотя бы, где ты собираешься хранить состояние, если не в синглтоне. В святом духе?

Попробуй ответить сам. Ты знаешь еще какие-нибудь места для хранения состояния, помимо xml-файлов и глобальных переменных? :D

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от stevejobs

Я так понимаю, что синглтон - это просто синтаксис для записи в Java суперглобальной переменной.

ничего, что когда джава появилась, синглтон уже был?

maloi ★★★★★
()
Ответ на: комментарий от Manhunt

Например, ты можешь захотеть скормить разным подсистемам разные экземпляры лог-стрима, с тем, чтобы каждый экземпляр лог-стрима добавлял к логгируемым сообщениям свой собственный префикс, и по этим префиксам было легко подсистемы различать

Ну если кроме синглтона ты ничего не знаешь, то да, проблема. А так вообще есть такая штука - декоратор. Кстати, декораторы логгера для подсистем тоже можно получать из фабрики-синглтона (реестра).

no-such-file ★★★★★
()
Ответ на: комментарий от Manhunt

А по-твоему, без синглтона это сложно сделать? :D

А то, что тогда каждому методу каждого объекта нужно будет передавать объект конфига как параметр, даже если напрямую он в методе не используется - ты ведь не знаешь, а вдруг он понадобится другому методу другого объекта, который ты используешь в текущем методе - это по-твоему нормально? Я бы сказал, что это просто жопа.

no-such-file ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.