Какие подходы использовать, чтобы избежать прямого создания экземпляра функции в коде?

Чтобы избежать прямого создания экземпляра функции (например, объекта или класса) в коде, применяют следующие подходы:

Короткий ответ

Что ответить на собеседовании

Чтобы избежать прямого создания экземпляра функции (например, объекта или класса) в коде, применяют следующие подходы:

Подробный разбор

Ответ с пояснениями

Чтобы избежать прямого создания экземпляра функции (например, объекта или класса) в коде, применяют следующие подходы:

  1. Фабричный метод (Factory Method) — создаёт объекты через специальные методы, скрывая детали создания.
  2. Внедрение зависимостей (Dependency Injection) — объекты передаются в класс извне, обычно через конструктор или сеттер, что упрощает замену и тестирование.
  3. Использование интерфейсов и абстракций — код работает с интерфейсами, а конкретные реализации создаются и передаются извне.
  4. Лямбда-выражения и функциональные интерфейсы — вместо создания новых классов можно передавать функции как параметры.

Пример с внедрением зависимостей в Android (Kotlin):

interface ClickHandler {
    fun onClick()
}

class MyActivity(private val clickHandler: ClickHandler) {
    fun setup() {
        // Используем переданный обработчик, а не создаём новый
        button.setOnClickListener { clickHandler.onClick() }
    }
}

Такой подход повышает гибкость и тестируемость кода, а также облегчает поддержку и расширение.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку