Sobes.tech
Junior — Middle

Môžete vysvetliť koncept a účel vzoru repository v softvérovom vývoji?

sobes.tech AI

Odpoveď od AI

Vzorec repozitára je vrstva abstrakcije medzi poslovno-logičnim delom aplikacije in virom podatkov (npr. bazo podatkov). Encapsulira logiko dostopa do podatkov in zagotavlja priročen vmesnik za pridobivanje, dodajanje, posodabljanje in brisanje objektov.

Namen vzorca:

  • Skriti podrobnosti dela z bazo podatkov ali drugimi shranjevali.
  • Zagotoviti enoten vmesnik za delo s podatki.
  • Poenostaviti testiranje z možnostjo zamenjave repozitorija z mocki.

Primer v Kotlin za 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)
}

Tukaj UserRepository skriva podrobnosti dela z UserDao (npr. Room) in zagotavlja preprost vmesnik za ostalo aplikacijo.