Sobes.tech
Junior — Middle

Milline on seose UseCase ja Repository kihtide vahel rakenduse arhitektuuris?

sobes.tech AI

Vastus AI-lt

Süsteemi arhitektuuris vastutab UseCase kiht äriloogika ja tegevuste koordineerimise eest, samas kui Repository kiht tegeleb andmetele juurdepääsuga (näiteks andmebaas või võrgutooted).

Nende vahel on järgmine seos:

  • UseCase kutsub Repository meetodeid andmete saamiseks või salvestamiseks.
  • Repository kapseldab andmete salvestamise ja pärimise üksikasju ning pakub UseCase-le lihtsat liidest.

See jaotus võimaldab muuta andmetele juurdepääsu rakendust ilma äriloogikat muutmata ning hõlbustab testimist.

Näide:

class UserRepository {
    fun getUser(id: String): User { /* juurdepääs andmebaasile */ }
}

class GetUserUseCase(private val userRepository: UserRepository) {
    fun execute(id: String): User {
        return userRepository.getUser(id)
    }
}