Sobes.tech
Junior — Middle

Koja je glavna uloga BLoC-a u upravljanju stanjem u Flutter aplikacijama?

sobes.tech АИ

Одговор од АИ

Glavna uloga BLoC (Business Logic Component) u upravljanju stanjima u Flutter-u je odvajanje poslovne logike od korisničkog interfejsa, obezbeđujući čistu arhitekturu i olakšavajući testiranje.

BLoC prima događaje (events) iz UI-a, obrađuje ih, menja stanje i vraća novo stanje nazad u UI putem tokova (Streams). Ovo omogućava UI-u da reaguje na promene stanja bez direktne intervencije u logiku.

Dakle, BLoC:

  • Centralizuje upravljanje stanjem.
  • Čini kod modularnijim i ponovo upotrebljivijim.
  • Olakšava testiranje poslovne logike odvojeno od interfejsa.

Primer pojednostavljenog BLoC-a:

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 се претплаћује на counterStream и ажурира се при свакој промени бројача.