Protocols وGenerics
المسار: Swift وSwiftUI الوحدة: لغة Swift في Swift وSwiftUI
مدخل إلى الدرس: Protocols وGenerics
Protocols وGenerics في Swift وSwiftUI وiOS: في التصميم الكائني لا تبدأ بالوراثة؛ ابدأ بالمسؤولية والعقد.
طريقة الدراسة: اقرأ التعريف، تتبّع المثال في الشرح، نفّذه بنفسك، ثم اختبر النتيجة والحالات الاستثنائية قبل الانتقال.
المفهوم التقني
في التصميم الكائني لا تبدأ بالوراثة؛ ابدأ بالمسؤولية والعقد. اجعل الحالة التي يجب أن تبقى متسقة داخل الكائن نفسه، واستخدم interface أوprotocol عندما تريد فصل ما يستطيع المكوّن فعله عن الكيفية التي ينفذ بها ذلك. في Protocols and generics ضمن Swift language طبّق هذا المبدأ على الأدوات الفعلية للدورة (Swift value semantics وasync/await وSwiftUI state وNavigationStack وpersistence وأدوات Xcode) وحدد أثره الذي يمكن مراجعته في المشروع.
حوّل Protocols، generics، Swift، language إلى أسئلة تصميم: من يملك هذه المسؤولية؟ أين تحفظ الحالة؟ ما العقد الذي يراه المستهلك؟ وما الدليل الذي يثبت النتيجة؟ لا تنتقل من المصطلح إلى الكود قبل أن تجيب هذه الأسئلة.
صلة هذا الدرس بالمسار
المقارنة المفيدة هنا ثلاثية: ما الذي كان صحيحًا بعد Functions وStructs، ما الذي أصبح صحيحًا بعد Protocols وGenerics، وما الشرط الذي يحتاجه Views وModifiers. اكتب هذه الفروق قبل التنفيذ حتى يبقى التسلسل مقصودًا.
تطبيق خاص بـProtocols وGenerics
ابنِ تطبيقًا مصغرًا لـProtocols وGenerics داخل تطبيق ميزانية شخصية لـ iOS ينتج تدفق شاشة أوخدمة على التطبيق ويجعل حدود Protocols وGenerics ظاهرة للمراجع.
دليل نجاح Protocols وGenerics
- في Protocols وGenerics: حالة أولية واضحة.
- في Protocols وGenerics: تفاعل يغيّر الحالة كما هو متوقع.
- في Protocols وGenerics: سلوك واضح عند البيانات الفارغة أوالخاطئة.
أخطاء مرتبطة بـProtocols وGenerics
- أثناء Protocols وGenerics: نسخ المثال دون فهم الافتراض الذي يجعله يعمل.
- أثناء Protocols وGenerics: توسيع الحل قبل التأكد من أصغر حالة صحيحة.
مثال عملي للتطبيق
الموقف: نعمل على تطبيق جوال لعرض المهام وإدارتها مع دعم حالات الاتصال. نحتاج إلى توظيف فكرة Protocols وGenerics لتلبية مطلب محدد يمكن قياس نجاحه.
- حدد البيانات أو المكونات ذات العلاقة في المثال.
- طبّق خطوات الموضوع على نسخة تجريبية بسيطة، ودوّن الناتج المتوقع قبل التنفيذ.
- جرّب حالة صحيحة وحالة خاطئة، وقارن النتيجة بالسلوك المتوقع.
معيار النجاح: تستطيع تفسير السبب وراء كل خطوة وإعادة تنفيذ المثال دون الرجوع إلى الحل.
مراجعة وتمرين تثبيت المهارة
اختبار سريع: اشرح بعبارتك معنى «Protocols وGenerics»، ثم بيّن أين ستستخدمه داخل تطبيق جوال لعرض المهام وإدارتها مع دعم حالات الاتصال، وما الخطأ الذي يجب اختباره قبل الاعتماد على الحل.
تحدٍّ إضافي: غيّر شرطًا واحدًا في التطبيق، وتوقع النتيجة، ثم نفّذ الاختبار وفسّر الاختلاف.