[Археология 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
    и в чистой яве есть одноименный класс для этого

© Habrahabr.ru