Sobes.tech
Junior

Na čo sú prípady vo Flutteri?

sobes.tech AI

Odpoveď od AI

Použitie prípadov (use cases) predstavujú vrstvu podnikovej logiky oddelenú od UI a dát. Opisujú konkrétne akcie používateľa alebo systému, ktoré sa vykonávajú s údajmi získanými z úložísk.

Výhody používania prípadov použitia:

  • Čistota a modularita: Oddelenie podnikových pravidiel od UI robí kód prehľadnejším a ľahšie udržiavateľným.
  • Testovateľnosť: Podniková logika zakomponovaná v prípadoch použitia je ľahko testovateľná izolovane.
  • Opätovné použitie: Prípady použitia môžu byť využité v rôznych častiach aplikácie alebo dokonca v iných aplikáciách.
  • Čitateľnosť: Názvy prípadov použitia často odrážajú zámer používateľa alebo systému, čo zlepšuje čitateľnosť kódu.

Obvykle:

  • Závisia od jedného alebo viacerých úložísk na získanie údajov.
  • Vykonávajú operácie nad týmito údajmi (napríklad filtrovanie, zoradenie, transformácia).
  • Nevedia o UI a neinteragujú s ním priamo.
  • Sú používané prezentérmi alebo poskytovateľmi stavu (napríklad BLoC, Riverpod).

Príklad štruktúry prípadu použitia:

// Abstraktná základná trieda pre prípady použitia, ktoré vracajú budúce hodnoty.
abstract class FutureUseCase<T, P> {
  Future<T> call(P params);
}

// Konkrétny prípad použitia na získanie zoznamu používateľov.
class GetUsersUseCase extends FutureUseCase<List<User>, NoParams> {
  final UserRepository userRepository;

  GetUsersUseCase(this.userRepository);

  @override
  Future<List<User>> call(NoParams params) async {
    return await userRepository.getUsers();
  }
}

// Trieda bez parametrov pre prípady použitia, ktoré nevyžadujú vstupné údaje.
class NoParams {}