Junior — Middle
Ինչ է BLoC-ի հիմնական դերը Flutter հավելվածներում վիճակի կառավարման մեջ?
sobes.tech AI
Պատասխան AI-ից
Flutter-ում վիճակի կառավարումում BLoC (Business Logic Component)-ի հիմնական դերը բիզնես տրամաբանությունը բաժանելն է UI-ից՝ ապահովելով մաքուր ճարտարապետություն և հեշտացնելով թեստավորումը:
BLoC-ը ստանում է իրադարձություններ (events) UI-ից, մշակում դրանք, փոխում է վիճակը և նոր վիճակը վերադարձնում է 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-ին և թարմացվում է յուրաքանչյուր հաշվողի փոփոխության ժամանակ։