Шаблон проектирования «синглтон» в языке Java

boat-336551_1280

Шаблон «синглтон» (singleton) — это проектное решение, в котором приложение желает иметь один единственный экземпляр любого из классов, во всех возможных сценариях, без каких-либо исключений. Среди Java-разработчиков довольно долго шли споры о возможных подходах к тому, как сделать любой класс синглтоном. И вы по-прежнему можете встретить людей, которых не устроит ни одно из предложенных вами решений. Но и их мнение нельзя не учитывать. В этой статье мы обсудим несколько грамотных подходов и постараемся сделать всё, на что мы способны.

Разделы этой статьи:

  • Ранняя инициализация
  • Ленивая инициализация
  • Инициализация статическими блоками
  • Решение Билла Пью
  • Использование Enum
  • Добавление readResolve()
  • Добавление серийного идентификатора версии
  • Вывод

Термин «синглтон» произошел от его математического аналога — одноэлементного множества. Как уже говорилось выше, он требует, чтобы у нас был всего один экземпляр. Давайте взглянем на возможные варианты: Continue reading