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.