Junior — Middle
რა არის BLoC-ის ძირითადი როლი Flutter-ის აპლიკაციებში მდგომარეობის მართვაში?
sobes.tech AI
პასუხი AI-სგან
Flutter-ში მდგომარეობის მართვაში BLoC (Business Logic Component)-ის ძირითადი როლია ბიზნეს ლოგიკის გამოყოფა UI-დან, რათა უზრუნველყოს სუფთა არქიტექტურა და გაადვილოს ტესტირება.
BLoC იღებს UI-დან მოვლენებს (events), მათ processing, მდგომარეობის შეცვლა და ახალი მდგომარეობის დაბრუნება UI-სთვის სტრიმების (Streams) მეშვეობით. ეს საშუალებას აძლევს UI-ს რეაგირება მოახდინოს მდგომარეობის ცვლილებებზე უშუალო ჩარევის გარეშე.
ამიტომ, BLoC:
- ცენტრალიზებს მდგომარეობის მართვას.
- კოდს ხდის უფრო მოდულურს და გადამეორებადი.
- ადვილად აძლიერებს ბიზნეს ლოგიკის ტესტირებას დამოუკიდებლად ინტერფეისიდან.
სადავიწროებული BLoC-ის მაგალითი:
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-ზე და ყოველ ცვლილებაზე განახლდება.