[Археология Live] Стыдный разговор о синглтонах
Комментарии (12)
6 августа 2017 в 21:30
0↑
↓
А вам не кажется, что масштабы трагедии преувеличены?6 августа 2017 в 21:35
+3↑
↓
Десятками лет эту проблему мусолят. Совпадение? :)6 августа 2017 в 23:11
0↑
↓
Проблему goto мусолят ещё дольше и активнее. Совпадение? ;)7 августа 2017 в 02:51
0↑
↓
Не думаю!
6 августа 2017 в 22:40
+1↑
↓
А зачем явно указывать scope? Controller же по умолчанию имеет scope Singleton.
6 августа 2017 в 22:55
+1↑
↓
Можно и не указывать. В примере исключительно для того, чтобы лучше проиллюстрировать6 августа 2017 в 23:05
+2↑
↓
Я просто не понимаю: почти любой bean в спринге — это синглтон, так как это настройка по умолчанию. А как вообще предлагается на java без синлтонов? Без спринга вообще? Или предлагается менять scope всех компонентов?6 августа 2017 в 23:35 (комментарий был изменён)
+1↑
↓
Ну вообще-то да, есть неспринговые люди и проекты. Тут недавно как раз была статья «Почему я ненавижу Spring». https://habrahabr.ru/post/334118/.А еще у нас есть очень специальный человек, Егор Бугаенко, у него свой подход, и даже книжка имеется: http://www.yegor256.com/elegant-objects.html
6 августа 2017 в 23:05
+1↑
↓
Олег, я правильно понял что ты пришёл к тому, что синглтон норм если использовать IoC?6 августа 2017 в 23:33
+2↑
↓
да :), но в разумных пределах. Когда в «реальном мире», в предметной области, есть глобальное состояние — мы тоже можем его использовать. Или когда это самое дешевое решение, в т.ч. в перспективе. А как помойку использовать все еще не норм.7 августа 2017 в 00:13
0↑
↓
Тогда, кажется, уместно начинать видео с текста о том, что синглтон в неумелых руках — это антипаттерн, а в умелых — мощное оружие, бьющее точно в цель и реализующееся в котлине ключевым слово «object».
7 августа 2017 в 01:51
0↑
↓
это уже не синглтон, а service loader
и в чистой яве есть одноименный класс для этого