Sobes.tech
Junior — Middle

Prečo je pri práci s údajmi vhodnejšie použiť vrstvu Interactor namiesto priameho prístupu k úložisku?

sobes.tech AI

Odpoveď od AI

Použitie vrstvy Interactor (alebo Use Case) medzi používateľským rozhraním a úložiskom umožňuje oddeliť obchodnú logiku od detailov ukladania údajov. To zvyšuje modularitu a testovateľnosť aplikácie, pretože Interactor je zodpovedný za konkrétne scenáre použitia, zatiaľ čo úložisko iba za prístup k údajom.

Výhody:

  • Zapuzdrovanie obchodnej logiky: Interactor spája operácie s údajmi bez odhalenia detailov úložiska.
  • Zjednodušenie testovania: Obchodnú logiku je možné testovať samostatne, nahradením úložiska mockmi alebo stubmi.
  • Flexibilita: Pri zmene zdroja údajov (napríklad z lokálnej databázy na sieť) sa mení iba úložisko, Interactor zostáva nezmenený.

Príklad:

class UserInteractor(private val userRepository: UserRepository) {
    fun getUserProfile(userId: String): UserProfile {
        val user = userRepository.getUserById(userId)
        // Ďalšia logika, napríklad filtrovanie alebo agregácia
        return UserProfile(user.name, user.age)
    }
}