Как выглядит модель в проекте

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

Ответ

data class User(
    val id: Long,
    val name: String,
    val email: String,
    val createdAt: Date
)

Модель (data class в Kotlin) представляет структуру данных приложения. Ключевые характеристики:

  • Использует data class для автоматической генерации полезных методов
  • Содержит только данные (без логики)
  • Поля объявлены как val (иммутабельность)
  • Может включать преобразования в/из DTO (например, toDomain(), fromNetwork())
  • Часто реализует Parcelable/Seriazable для передачи между компонентами

Пример с преобразованием:

fun UserDto.toDomain(): User = User(
    id = this.userId,
    name = this.username,
    email = this.userEmail,
    createdAt = Date(this.creationTimestamp)
)