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.