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. التخزين المؤقت: أعد استخدام نتائج آخر مرة للملفات غير المتغيرة

❓ الأسئلة الشائعة

س هل أنماط التصميم مفيدة في القوالب؟
ج نعم. جوهر الأنماط هو خبرة في حل مشاكل محددة. استخدام التفكير النمطي لتنظيم المنطق في القوالب يجعل المخرجات أكثر قابلية للتنبؤ وقابلية للصيانة.
س أي نمط يجب أن أستخدم؟
ج يعتمد على نوع المشكلة — استراتيجيات متعددة → نمط الاستراتيجية، خط أنابيب → سلسلة المسؤولية، استجابة للأحداث → المراقب، هيكل عملية → طريقة القالب.
س هل الأنماط تجعل المهارات أكثر تعقيدًا؟
ج الاستخدام المفرط يفعل. استخدم نمطًا واحدًا أو اثنين كحد أقصى لكل مهارة. المشاكل البسيطة لا تحتاج أنماط.

📖 ملخص


📝 تمارين

  1. أساسي (⭐): أعِد هيكلة مهارة المراجعة باستخدام نمط الاستراتيجية، مع دعم استراتيجيات مراجعة للغتين برمجيتين.
  2. متوسط (⭐⭐): صمّم مهارة مراجعة بثلاث بوابات باستخدام نمط سلسلة المسؤولية (تنسيق→أمان→جودة).
  3. متقدم (⭐⭐⭐): طبّق بنحو شامل نمطين أو أكثر لتصميم نظام مراجعة ذكي يدعم اختيار الاستراتيجية، وفحوصات سلسلة المسؤولية، والإشعارات التلقائية.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%