Какие знаешь паттерны проектирования

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

Ответ

Singleton – гарантирует единственный экземпляр класса. Пример:

object DatabaseHelper {
    fun query() { /*...*/ }
}

Builder – упрощает создание сложных объектов. Пример:

AlertDialog.Builder(context)
    .setTitle("Title")
    .setMessage("Message")
    .show()

Observer – уведомляет подписчиков об изменениях (LiveData, RxJava).

MVVM – разделение логики (ViewModel), данных (Model) и UI (View).

Adapter – преобразует интерфейс класса (RecyclerView.Adapter).

Factory – создает объекты без указания точного класса (например, ViewModelProvider.Factory).

Dependency Injection (DI) – внедрение зависимостей (Dagger/Hilt).

Видео-ответы