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