Приведи пример реализации паттерна Singleton

«Приведи пример реализации паттерна Singleton» — вопрос из категории Паттерны, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

object Singleton {
    init {
        println("Singleton initialized")
    }

    fun doSomething() {
        println("Doing something")
    }
}

// Использование:
Singleton.doSomething()

Ключевые моменты:

  • object в Kotlin автоматически создает thread-safe синглтон с ленивой инициализацией
  • Инициализация происходит при первом обращении
  • Доступ к методам через имя объекта (Singleton.method())
  • Для Java-совместимости можно добавить @JvmStatic аннотации