Junior
Kam skirti Flutter atvejai?
sobes.tech AI
Atsakymas iš AI
Naudojimo atvejai (use cases) sudaro verslo logikos sluoksnį, kuris yra atskirtas nuo UI ir duomenų. Jie aprašo konkrečius naudotojo ar sistemos veiksmus, kurie atliekami su duomenimis, gautais iš saugyklų.
Naudojimo atvejų privalumai:
- Švarumas ir moduliškumas: Verslo taisyklių atskyrimas nuo UI daro kodą aiškesnį ir lengviau prižiūrimą.
- Testuojamumas: Verslo logika, įdiegta naudojimo atvejais, yra lengvai izoliuojama ir testuojama.
- Pakartotinis naudojimas: Naudojimo atvejai gali būti naudojami skirtingose programos dalyse ar net kituose projektuose.
- Skaitomumas: Naudojimo atvejų pavadinimai dažnai atspindi naudotojo ar sistemos ketinimą, kas gerina kodo skaitomumą.
Dažniausiai naudojimo atvejai:
- Priklauso nuo vieno ar kelių saugyklų duomenų gavimui.
- Atlieka operacijas su šiais duomenimis (pavyzdžiui, filtravimas, rūšiavimas, transformavimas).
- Jie nežino apie UI ir su juo tiesiogiai nesusiję.
- Naudojami pristatytojais arba būsenos teikėjais (pavyzdžiui, BLoC, Riverpod).
Pavyzdys naudojimo atvejo struktūros:
// Abstrakti bazinė klasė naudojimo atvejams, kurie grąžina būsimą reikšmę.
abstract class FutureUseCase<T, P> {
Future<T> call(P params);
}
// Konkretus naudojimo atvejis, skirtas gauti naudotojų sąrašą.
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();
}
}
// Klasė be parametrų, skirtas naudojimo atvejams, kurie nereikalauja įvesties duomenų.
class NoParams {}