Sobes.tech
Junior — Middle

Mis on BLoC peamine roll Flutteri rakendustes oleku haldamisel?

sobes.tech AI

Vastus AI-lt

Flutteris olemus roll BLoC (Business Logic Component) peitmine on ärilogiast eraldamine UI-st, tagades puhta arhitektuuri ning lihtsustades testimist.

BLoC võtab UI-st sündmusi (events), töötleb neid, muudab olekut ja saadab uue oleku tagasi UI-le voogude (Streams) kaudu. See võimaldab UI-l reageerida oleku muutustele ilma otsese sekkumiseta logikasse.

Seega, BLoC:

  • Keskendub oleku haldamisele.
  • Muudab koodi modulaarsemaks ja taaskasutatavaks.
  • Lihtsustab äriloogika testimist eraldi liidesest.

Lihtsustatud BLoC näide:

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 tellib counterStream-i ja uuendatakse iga loenduri muutuse korral.