Sobes.tech
Junior

Kam ir nepieciešami gadījumi Flutter?

sobes.tech AI

Atbilde no AI

Lietošanas gadījumi (use cases) pārstāv biznesa loģikas slāni, kas ir atdalīts no UI un datiem. Tie apraksta konkrētas lietotāja vai sistēmas darbības, kas tiek veiktas ar datiem, kas iegūti no krātuves.

Lietošanas gadījumu priekšrocības:

  • Skaidrība un modulāritāte: Biznesa noteikumu atdalīšana no UI padara kodu saprotamāku un vieglāk uzturamu.
  • Testējamība: Biznesa loģika, kas ietverta lietošanas gadījumos, ir viegli izolējama un testējama.
  • Pārliekama izmantošana: Lietošanas gadījumus var izmantot dažādās aplikācijas daļās vai pat citās aplikācijās.
  • Lasāmība: Lietošanas gadījumu nosaukumi bieži atspoguļo lietotāja vai sistēmas nodomu, uzlabojot koda lasāmību.

Parasti lietošanas gadījumi:

  • ir atkarīgi no viena vai vairākiem krātuvēm datu iegūšanai.
  • veic operācijas ar šiem datiem (piemēram, filtri, kārtošana, transformācija).
  • tie nezin par UI un tieši ar to nesadarbojas.
  • tiek izmantoti prezentētājos vai stāvokļa nodrošinātājos (piemēram, BLoC, Riverpod).

Piemērs lietošanas gadījuma struktūrai:

// Abstrakta pamatklase lietošanas gadījumiem, kas atgriež nākotnes vērtības.
abstract class FutureUseCase<T, P> {
  Future<T> call(P params);
}

// Konkrēts lietošanas gadījums, lai iegūtu lietotāju sarakstu.
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();
  }
}

// Klase bez parametriem, kas ir paredzēta lietošanas gadījumiem, kuriem nav nepieciešami ievades dati.
class NoParams {}