Sobes.tech
Junior — Middle

Kas saaksite selgitada hoidla mustri kontseptsiooni ja eesmärki tarkvaraarenduses?

sobes.tech AI

Vastus AI-lt

Repository muster on abstrakts slānis vahel rakenduse äriloogika ja andmeallika (näiteks andmebaasi) vahel. See kapseldab andmete juurdepääsuloogika, pakkudes mugavat liidest objektide saamiseks, lisamiseks, uuendamiseks ja kustutamiseks.

Mustri eesmärk:

  • Varjata üksikasju andmebaasiga või muude salvestuskohtadega töötamise kohta.
  • Tagada ühtne liides andmetega töötamiseks.
  • Lihtsustada testimist, võimaldades asendada repository mokkidega.

Näide Kotlinis Android jaoks:

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)
}

Siin varjab UserRepository üksikasju UserDao-ga töötamise kohta (näiteks Room) ning pakub lihtsat liidest ülejäänud rakendusele.