Sobes.tech
Junior — Middle

Kāda ir galvenā loma BLoC Flutter lietojumprogrammās stāvokļa pārvaldībā?

sobes.tech AI

Atbilde no AI

Galvenā loma BLoC (Business Logic Component) Flutter stāvokļa pārvaldībā ir biznesa loģikas atdalīšana no UI, nodrošinot tīru arhitektūru un vienkāršojot testēšanu.

BLoC saņem notikumus (events) no UI, tos apstrādā, maina stāvokli un jauno stāvokli atgriež atpakaļ uz UI caur straumēm (Streams). Tas ļauj UI reaģēt uz stāvokļa izmaiņām bez tiešas iejaukšanās logikā.

Tādējādi, BLoC:

  • Centralizē stāvokļa pārvaldību.
  • Padara kodu modulārāku un atkārtoti izmantojamu.
  • Atvieglo biznesa loģikas testēšanu atsevišķi no saskarnes.

Vienkāršots BLoC piemērs:

class CounterBloc {
  final _counterController = StreamController<int>();
  int _counter = 0;

  Stream<int> get counterStream => _counterController.stream;

  void increment() {
    _counter++;
    _counterController.sink.add(_counter);
  }

  void dispose() {
    _counterController.close();
  }
}

UI abonē counterStream un tiek atjaunināta ar katru skaitītāja izmaiņu.