Sobes.tech
Junior — Middle

Kokia yra pagrindinė BLoC vaidmuo Flutter programų būsenos valdyme?

sobes.tech AI

Atsakymas iš AI

Pagrindinė BLoC (Business Logic Component) funkcija Flutter būsenos valdyme yra verslo logikos atskyrimas nuo UI, užtikrinant švarią architektūrą ir palengvinant testavimą.

BLoC priima įvykius (events) iš UI, juos apdoroja, keičia būseną ir naują būseną grąžina atgal į UI per srautus (Streams). Tai leidžia UI reaguoti į būsenos pokyčius be tiesioginės įsikišimo į logiką.

Taigi, BLoC:

  • Centralizuoja būsenos valdymą.
  • Daro kodą moduliškesnį ir pakartotinai naudojamą.
  • Palengvina verslo logikos testavimą atskirai nuo sąsajos.

Supaprastintas BLoC pavyzdys:

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 prenumeruoja counterStream ir atnaujina kiekvieną skaitiklio pakeitimą.