Junior
Na co jsou v Flutteru případy?
sobes.tech AI
Odpověď od AI
Použití případy představují vrstvu podnikové logiky oddělenou od UI a dat. Popisují konkrétní akce uživatele nebo systému, které jsou prováděny s daty získanými z úložišť.
Výhody používání případů použití:
- Čistota a modularita: Oddělení podnikových pravidel od UI činí kód přehlednějším a snáze udržovatelným.
- Testovatelnost: Podniková logika zakomponovaná do případů použití je snadno testovatelná izolovaně.
- Opětovné použití: Případy použití mohou být využity v různých částech aplikace nebo dokonce v jiných aplikacích.
- Čitelnost: Názvy případů použití často odrážejí záměr uživatele nebo systému, což zlepšuje čitelnost kódu.
Obvykle:
- Závisí na jednom nebo více úložištích pro získání dat.
- Provádí operace nad těmito daty (například filtrování, třídění, transformace).
- Neznají UI a s ním přímo neinteragují.
- Používají je prezentátoři nebo poskytovatelé stavu (například BLoC, Riverpod).
Příklad struktury případu použití:
// Abstraktní základní třída pro případy použití, které vracejí budoucí hodnoty.
abstract class FutureUseCase<T, P> {
Future<T> call(P params);
}
// Konkrétní případ použití pro získání seznamu uživatelů.
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();
}
}
// Třída bez parametrů pro případy použití, které nevyžadují vstupní data.
class NoParams {}