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.