Skills: أنماط التصميم المتقدمة
آخر تحديث: 2026-08-31
أنماط التصميم ليست للكود فقط — نفس الحكمة في هندسة القوالب تجعل المهارات أكثر مرونة ومتانة.
1. نمط الاستراتيجية
(1) المفهوم
اختيار استراتيجيات تنفيذ مختلفة بناءً على شروط مختلفة:
TEXT
📖 للعرض فقط
بنية نمط الاستراتيجية
┌──────────┐
│ السياق │ → تقييم الشروط → اختيار الاستراتيجية
└────┬─────┘
├── الاستراتيجية A (مشروع Python)
├── الاستراتيجية B (مشروع TypeScript)
└── الاستراتيجية C (مشروع Go)
(2) تنفيذ المهارة
MARKDOWN
## اختيار استراتيجية المراجعة
اختيار تلقائي بناءً على حزمة تقنيات المشروع:
{{#if tech_stack == "python"}}
تنفيذ استراتيجية مراجعة Python:
- تحقق من تلميحات الأنواع
- تحقق من docstrings
- تحقق من التوافق مع PEP 8
{{/if}}
{{#if tech_stack == "typescript"}}
تنفيذ استراتيجية مراجعة TypeScript:
- تحقق من أنواع any
- تحقق من تعريفات الواجهات
- تحقق من أمان الأنواع
{{/if}}
(3) حالات الاستخدام
| السيناريو | بُعد الاستراتيجية | مثال |
|---|---|---|
| مشروع متعدد اللغات | لغة البرمجة | مراجعة Python/TS/Go |
| نشر متعدد البيئات | البيئة المستهدفة | استراتيجية staging/production |
| مشروع متعدد الأطر | إطار الويب | معايير React/Vue/Svelte |
2. نمط سلسلة المسؤولية
(1) المفهوم
معالجات متعددة تتعامل مع طلب بالتسلسل؛ كل واحد يقرر ما إذا كان سيمرره:
TEXT
📖 للعرض فقط
مثال سلسلة المسؤولية
المدخلات → فحص التنسيق → فحص الأمان → فحص الأداء → المخرجات
↓ فشل ↓ فشل ↓ فشل
إرجاع خطأ إرجاع خطأ إرجاع خطأ
(2) تنفيذ المهارة
MARKDOWN
## سلسلة مسؤولية مراجعة الكود
### البوابة الأولى: فحص التنسيق
- هل ترميز الملف صحيح
- هل أسلوب الكود يلبي المعايير
- فشل التنسيق → إرجاع مشاكل التنسيق، لا تستمر
### البوابة الثانية: فحص الأمان
- كشف حقن SQL، XSS
- كشف المفاتيح المشفرة بشكل ثابت
- فشل الأمان → إرجاع مشاكل الأمان، لا تستمر
### البوابة الثالثة: فحص الجودة
- طول الدوال، التعقيد الدائري
- كشف الكود المكرر
- فشل الجودة → إرجاع مشاكل الجودة
### الكل ناجح → إخراج تقرير اجتياز المراجعة
(3) المزايا
TEXT
📖 للعرض فقط
مزايا سلسلة المسؤولية
├── خروج مبكر: فشل الفحص السابق يرجع فورًا، يوفر العبء اللاحق
├── فصل الاهتمامات: كل فاحص يركز فقط على بُعده
├── قابلية التوسع: أضف أبعاد فحص جديدة بإضافة حلقة واحدة
└── قابلية التكوين: يمكن تخطي حلقات فحص معينة
3. نمط المراقب
(1) المفهوم
عندما يحدث حدث، إبلاغ جميع المشتركين تلقائيًا:
TEXT
📖 للعرض فقط
نمط المراقب
مصدر الحدث: تغيير ملف
├── المراقب A: تشغيل اختبارات تلقائي
├── المراقب B: مراجعة كود تلقائية
└── المراقب C: تحديث توثيق تلقائي
(2) تنفيذ المهارة
YAML
---
name: file-change-watcher
description: "تغيير الملف يُفعّل إجراءات تلقائية"
triggers:
- context: "file_modified"
---
MARKDOWN
## قواعد الاستجابة للتغييرات
تحديد تلقائي عند تغيير الملف:
- تغيير src/**/*.py → تفعيل اختبارات Python
- تغيير src/**/*.ts → تفعيل اختبارات TypeScript
- تغيير docs/** → تفعيل تحقق التوثيق
- تغيير .env* → تذكير بالتحقق من تكوين البيئة
4. نمط طريقة القالب
(1) المفهوم
تعريف هيكل الخوارزمية؛ الخطوات الفرعية يمكن تخصيصها:
MARKDOWN
## طريقة قالب المراجعة
### الهيكل الثابت
1. جمع التغييرات
2. مراجعة ملف بملف (← قابل للتخصيص)
3. تجميع التقرير
4. إخراج التوصيات
### الخطوة القابلة للتخصيص (الخطوة 2)
خصص أبعاد المراجعة حسب اللغة/نوع المشروع
(2) تنفيذ تركيب المهارات
TEXT
📖 للعرض فقط
طريقة القالب = مهارة أساسية + مهارة فرعية قابلة للتوصيل
base-review.md (الهيكل)
├── جمع التغييرات
├── استدعاء مهارة {{review_strategy}} (قابلة للتوصيل)
├── تجميع التقرير
└── إخراج التوصيات
python-review.md (استراتيجية محددة) → تُملأ في review_strategy
ts-review.md (استراتيجية محددة) → تُملأ في review_strategy
5. نمط المُزيّن
(1) المفهوم
إضافة قدرات إضافية ديناميكيًا إلى مهارة دون تعديل المنطق الأصلي:
TEXT
📖 للعرض فقط
المهارة الأساسية: code-review
├── + مُزيّن التخزين المؤقت: تخزين مؤقت لنتائج المراجعة
├── + مُزيّن التسجيل: تسجيل عمليات المراجعة
└── + مُزيّن الإشعارات: إبلاغ الفريق عند إكمال المراجعة
(2) تنفيذ المهارة
MARKDOWN
## مهارة مراجعة مُحسّنة
بالإضافة إلى تدفق المراجعة الأساسي، أضف:
1. قبل المراجعة: سجّل طلب المراجعة والطابع الزمني
2. بعد المراجعة: أرسل النتائج إلى قناة الفريق
3. التخزين المؤقت: أعد استخدام نتائج آخر مرة للملفات غير المتغيرة
❓ الأسئلة الشائعة
س هل أنماط التصميم مفيدة في القوالب؟
ج نعم. جوهر الأنماط هو خبرة في حل مشاكل محددة. استخدام التفكير النمطي لتنظيم المنطق في القوالب يجعل المخرجات أكثر قابلية للتنبؤ وقابلية للصيانة.
س أي نمط يجب أن أستخدم؟
ج يعتمد على نوع المشكلة — استراتيجيات متعددة → نمط الاستراتيجية، خط أنابيب → سلسلة المسؤولية، استجابة للأحداث → المراقب، هيكل عملية → طريقة القالب.
س هل الأنماط تجعل المهارات أكثر تعقيدًا؟
ج الاستخدام المفرط يفعل. استخدم نمطًا واحدًا أو اثنين كحد أقصى لكل مهارة. المشاكل البسيطة لا تحتاج أنماط.
📖 ملخص
- نمط الاستراتيجية: اختيار استراتيجية التنفيذ بناءً على الشروط (متعدد اللغات/متعدد البيئات)
- سلسلة المسؤولية: معالجات متعددة بالتسلسل، خروج مبكر عند الفشل
- نمط المراقب: إشعار واستجابة تلقائية بفعل الأحداث
- نمط طريقة القالب: هيكل ثابت + خطوات فرعية قابلة للتخصيص
- نمط المُزيّن: تحسين ديناميكي دون تعديل المنطق الأصلي
📝 تمارين
- أساسي (⭐): أعِد هيكلة مهارة المراجعة باستخدام نمط الاستراتيجية، مع دعم استراتيجيات مراجعة للغتين برمجيتين.
- متوسط (⭐⭐): صمّم مهارة مراجعة بثلاث بوابات باستخدام نمط سلسلة المسؤولية (تنسيق→أمان→جودة).
- متقدم (⭐⭐⭐): طبّق بنحو شامل نمطين أو أكثر لتصميم نظام مراجعة ذكي يدعم اختيار الاستراتيجية، وفحوصات سلسلة المسؤولية، والإشعارات التلقائية.