Sobes.tech
Junior — Middle

Оё шумо метавонед консепсия ва мақсади намунаи репозиторӣ дар таҳияи нармафзорро шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

Наслиҳати репозиторӣ — ин қабати абстраксия байни логикаи бизнеси барнома ва манбаи маълумот (масалан, базаи маълумот). Он логикаи дастрасӣ ба маълумотро пинҳон мекунад, бо пешниҳоди интерфейси қулай барои гирифтани, илова кардан, навсозӣ ва хориҷ кардани объектҳо.

Мақсади намуна:

  • Гӯшзад кардани тафсилоти кор бо базаи маълумот ё дигар анборҳо.
  • Таҳия кардани интерфейси ягона барои кор бо маълумот.
  • Осон кардани санҷишҳо, бо имкон додан ба ҷойгузинии репозиторӣ бо мокҳо.

Масалан дар Kotlin барои Android:

interface UserRepository {
    fun getUserById(id: Int): User?
    fun addUser(user: User)
}

class UserRepositoryImpl(private val userDao: UserDao) : UserRepository {
    override fun getUserById(id: Int): User? = userDao.findById(id)
    override fun addUser(user: User) = userDao.insert(user)
}

Ин ҷо, UserRepository тафсилоти кор бо UserDao (масалан, Room) -ро пинҳон мекунад ва барои қисми боқимондаи барнома интерфейси содда пешниҳод мекунад.