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