إدارة عدة Cubits بدون MultiBlocProvider في Flutter
خالد عبدالفتاح يوسف··6 دقيقة قراءة
#Flutter
#Dart
#Bloc
#State Management
تحدي تداخل الـ Bloc Providers
في الشاشات المعقدة التي تحتاج للتفاعل مع عدة Cubits (مثل المصادقة، الملف الشخصي، وسلة المشتريات)، غالباً ما يمتلئ الكود بـ MultiBlocProvider متداخلة تجعل الصيانة صعبة وتزيد زمن إعادة البناء (Rebuilds).
الحلول المعمارية البديلة:
- Cubit-to-Cubit Communication عبر Domain Streams: استخدام StreamSubscription للتنسيق بين الحالات على مستوى طبقة الدومين وليس في الـ UI.
- Scoped Service Locators: تسجيل الـ Cubit داخل النطاق الخاص بالشاشة عبر GetIt مع التخلص التلقائي منه عند مغادرة الشاشة.
- Facade Pattern: تجميع عدة Cubits تحت واجهة منسقة واحدة للشاشات الحساسة.