Sobes.tech
Junior — Middle

Flutter колдонмолорунда абалды башкарууда BLoCтин негизги ролу эмне?

sobes.tech AI

AIден жооп

Flutter-дөгү абал башкарууда BLoC (Business Logic Component) негизги ролу — бизнес логиканы UI-дан бөлүп, таза архитектураны камсыз кылуу жана тестти жеңилдетүү.

BLoC UI-дан окуяларды (events) кабыл алат, аларды иштетет, абалды өзгөртөт жана жаңы абалды кайра UI-га кайтарат through 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-ге жазылат жана ар бир санагычтын өзгөрүшүндө жаңыланат.