Sobes.tech
Junior — Middle

BLoC memarlıq nümunəsi ilə bağlı bilik və təcrübə səviyyənizi necə qiymətləndirirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

BLoC (Business Logic Component) — Flutter-da geniş istifadə olunan memarlıq nümunəsidir, biznes məntiqi və UI-ni ayırmağa imkan verir. Bu, məlumat axınları (Streams) və reaktiv proqramlaşdırmaya əsaslanır.

Nümunə:

  • Widget-lərdən məntiqi ayırmaq.
  • Hadisələr və vəziyyət axınları vasitəsilə vəziyyəti idarə etmək.
  • Kodun test ediləbilərliyi və yenidən istifadə olunmasını təmin etmək.

Tipik BLoC-də:

  • Giriş hadisələri (Sink), UI tərəfindən BLoC-ə göndərilir.
  • UI-nin abunə olduğu və interfeysi yeniləmək üçün istifadə olunan vəziyyət axını (Stream).

Sadə BLoC nümunəsi:

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();
  }
}

Orta mürəkkəbli tətbiqlərdə vəziyyəti idarə etmək üçün BLoC istifadə edirəm, burada məntiq və UI-nin aydın şəkildə ayrılması vacibdir və həmçinin biznes məntiqinin test edilməsini asanlaşdırır.