Flutter | Mahmoud Azab – Telegram
Flutter | Mahmoud Azab
10.2K subscribers
1.82K photos
139 videos
11 files
306 links
اسألني في اي مشكله ان شاء الله أقدر اساعدك
🎃 @mahmoud_azab99 🎃
Download Telegram
ده ملف شرح flutter بخط اليد اللي نزل علي
LinkedIn
🔥18❤‍🔥2
السلام عليكم ورحمة الله وبركاته
بالنسبه للناس اللي ملحقتش تدخل في الجروب الخاص

اي رايكم انزل ليكم جزء المذاكره وا التاسك مع بعض
وانت مع نفسك تذاكر وتحل التاسك
والحاجه اللي متفهماش ممكن تكتب في الجروب وان شاء الله تلاقي اللي يفهمك
❤‍🔥43🔥53
السلام عليكم ورحمة الله وبركاته
ده أول تاسك
Dart
الناس ممكن تحله واللي يقف معاه مشكله يسأل فيها
بالتوفيق لينا جميعا 🌹
❤‍🔥10
وده أول تاسك
Flutter
🌹

تاسك Dart نزل فوق
❤‍🔥11
24 Hours or what ? 🤔
🤯201🏆1
#منقول

♦️كنت في انترفيو وسالني عن clean architecture عن جزء repository
الموجود في data في تقسيمة المشروع
ايه الفرق بين repository و datasource
قولت له ال datasource دا بكلمه فيه ال api وامسك ال Exception
و repository برجع فيه الموديل لو الداتا صح ولو غلط بحول Exception ل Failure واعرضه
قالي طب لو مش هستخدم api ف معرفتش اقول ايه
ممكن حد يوضح النقطه دي ؟

🔥هو مكنش مستني منك كده هو كان مستني منك رد يوضح انك فاهم ال concept نفسه يعني
ال data source هو مجرد class مسؤول عن ال connection مع مصدر ال data او ال database بغض النظر عن ان المصدر ده ايه ان كان remote server او local database او حتى device info من ال device نفسها
وكل data source مسؤؤله عن connection واحده يعني متعملش مثلا data source بتجيب من لوكال و ريموت سوا
بالتالي هو مسوؤل في آخر انه يجيب الداتا ويهندلها ل type معين
إنما ال repository تقدر تعتبره وسيط او apis ما بين ال data layer وال presentation layer او نقدر نقول هو ال abstraction بتاع ال data layer وممكن يعتمد على اكتر من data source علشان ياخد القرار يجيب الداتا من انهي مصدر
مثال على كده لو مفيش نت ال repo هيجيب الداتا من ال local data source
❤‍🔥30🔥7
في الـ Clean Architecture، الفرق بين الـ Repository و الـ DataSource مهم لفهم كيفية تنظيم البيانات والتفاعل معها.

1. DataSource:
هو مكون مسؤول عن الاتصال بمصدر البيانات، سواء كان قاعدة بيانات محلية، API خارجي، أو حتى بيانات من جهاز المستخدم. الـ DataSource
يتعامل بشكل مباشر مع المصدر ويجلب البيانات منه. مثلاً، قد يكون لديك DataSource للتواصل مع API أو DataSource آخر للتعامل مع قاعدة بيانات محلية.

2. Repository:
هو طبقة تعمل كوسيط بين البيانات
(Data Layer) والـ Presentation Layer. الـ
Repository يتعامل مع واحد أو أكثر من الـ DataSource ليقرر من أين يجلب البيانات بناءً على الشروط المعينة مثل توفر الشبكة. الـ Repository يمكنه التعامل مع استثناءات الـ DataSource وتحويلها إلى حالات (States) مفهومة أكثر للطبقات الأخرى.

إذا لم تستخدم API، فالـ Repository يمكنه أن يتعامل مع DataSource آخر، مثل قاعدة بيانات محلية. عندما تسأل عن البيانات، الـ Repository سيقرر ما إذا كان يجب جلب البيانات من مصدر محلي أو عبر الإنترنت، وذلك بناءً على شروط معينة (مثل اتصال الشبكة).

مثال توضيحي:
- إذا كنت بحاجة إلى جلب بيانات من الإنترنت، فـ Repository سيستخدم DataSource للتواصل مع API.
- إذا لم يكن هناك اتصال بالإنترنت، فـ Repository قد يقرر جلب البيانات من DataSource محلي (مثل قاعدة بيانات محلية).

بهذا الشكل، يكون الـ Repository هو المسؤول عن تجميع البيانات من مصادر مختلفة وتقديمها بشكل موحد للطبقات الأعلى، بينما الـ DataSource يتعامل بشكل مباشر مع مصدر البيانات المحدد.
❤‍🔥23🔥5🤯1