Sobes.tech
Junior — Middle

Flutter ilovalarida holatni boshqarishda BLoC ning asosiy roli nima?

sobes.tech AI

AIdan javob

Flutter'da holatni boshqarishdagi BLoC (Business Logic Component) ning asosiy roli — biznes mantiqini UI dan ajratish, toza arxitekturani ta'minlash va testlarni osonlashtirish.

BLoC UI dan keladigan voqealarni (events) qabul qiladi, ularni ishlov beradi, holatni o'zgartiradi va yangi holatni oqimlar (Streams) orqali UI ga qaytaradi. Bu UI ning holat o'zgarishlariga to'g'ridan-to'g'ri aralashmasdan javob berishiga imkon beradi.

Shunday qilib, BLoC:

  • Holatni boshqarishni markazlashtiradi.
  • Kodni ko'proq modulli va qayta ishlatish mumkin qiladi.
  • Biznes mantiqini interfeysdan ajratib, test qilishni osonlashtiradi.

Soddalashtirilgan BLoC misoli:

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 ga obuna bo'ladi va har bir hisoblagich o'zgarishi bilan yangilanadi.