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.