Sobes.tech
Junior — Middle

BLoC mimari desen patterni ile ilgili bilgi ve deneyim seviyenizi nasıl değerlendiriyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

BLoC (Business Logic Component) — Flutter'da iş mantığını ve UI'yi ayırmak için yaygın olarak kullanılan mimari desen. Veri akışları (Streams) ve reaktif programlamaya dayanır.

Desen şunları sağlar:

  • Mantığı widget'lardan ayırmak.
  • Olaylar ve durumlar akışları aracılığıyla durumu yönetmek.
  • Kodun test edilebilirliğini ve yeniden kullanılabilirliğini sağlamak.

Tipik bir BLoC'de:

  • Giriş olayları (Sink), UI tarafından BLoC'ye gönderilir.
  • UI'nin abone olduğu ve arayüzü güncellemek için kullanılan bir durum akışı (Stream) bulunur.

Basit bir BLoC örneği:

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 seviyedeki uygulamalarda durumu yönetmek için BLoC kullanıyorum, burada mantık ve UI'nin net bir şekilde ayrılması önemlidir ve ayrıca iş mantığını test etmeyi kolaylaştırır.