Sobes.tech
Junior — Middle

Jaký je vztah mezi vrstvami UseCase a Repository v architektuře aplikace?

sobes.tech AI

Odpověď od AI

V architektuře aplikace je vrstva UseCase odpovědná za obchodní logiku a koordinaci akcí, zatímco vrstva Repository se stará o přístup k datům (například k databázi nebo síťovým zdrojům).

Vztah mezi nimi je následující:

  • UseCase volá metody Repository pro získání nebo uložení dat.
  • Repository enkapsuluje detaily ukládání a načítání dat a poskytuje UseCase jednoduché rozhraní.

Toto rozdělení umožňuje měnit implementaci přístupu k datům bez změny obchodní logiky a usnadňuje testování.

Příklad:

class UserRepository {
    fun getUser(id: String): User { /* přístup k databázi */ }
}

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