أنماط التصميم هي حلول جاهزة للاستخدام لمهام البرمجة التي تحدث بشكل متكرر. إنها ليست فئة أو مكتبة يمكن ربطها بمشروع. إنه شيء أكثر. يتم تنفيذ أنماط التصميم المناسبة لكل مهمة في كل حالة محددة. يجب أن تتذكر أنه عند تطبيقه بشكل غير صحيح أو على مهمة غير مناسبة، يمكن لنمط التصميم أن يخلق الكثير من المشاكل. ومع ذلك، يمكن أن يساعدك النمط المطبق بشكل صحيح على إكمال المهام بسهولة وبساطة.
أنواع الأنماط:
- إبداعي
- الهيكلي
- سلوكية
إبداعية:
-
Singleton - يقيد إنشاء فئة لمثيل واحد، ويوفر الوصول إلى هذا المثيل الفردي.
-
المصنع - يُستخدم عندما يكون لدينا فئة فائقة تحتوي على فئات فرعية متعددة ونحتاج إلى إرجاع فئة فرعية بناءً على الإدخال.
-
المصنع المجرد – يستخدم مصنعًا فائقًا لإنشاء المصانع، والتي نستخدمها بعد ذلك لإنشاء الكائنات.
-
منشئ - يستخدم لإنشاء كائنات معقدة باستخدام كائنات بسيطة. يقوم تدريجياً بإنشاء كائن كبير من كائن صغير وبسيط.
-
النموذج الأولي - يساعد على تحسين الأداء عند إنشاء كائنات مكررة؛ بدلاً من إنشاء كائن جديد، يقوم بإنشاء وإرجاع نسخة من كائن موجود.
الهيكلي:
-
محول - محول بين كائنين غير متوافقين. يمكننا استخدام نمط المحول للجمع بين واجهتين غير متوافقتين.
-
مركب - يستخدم فئة واحدة لتمثيل بنية الشجرة.
-
الوكيل - يوفر وظيفة فئة أخرى.
-
وزن الذبابة — يعيد استخدام الكائنات بدلاً من إنشاء عدد كبير من الكائنات المتشابهة.
-
الواجهة — توفر واجهة بسيطة للعميل، والتي تستخدم الواجهة للتفاعل مع النظام.
-
Bridge — يجعل فئات معينة مستقلة عن الفئات التي تنفذ الواجهة.
-
الديكور - يضيف وظائف جديدة إلى كائن موجود دون الارتباط ببنيته.
السلوكية:
-
طريقة القالب - تحدد خوارزمية أساسية وتسمح للأحفاد بتجاوز بعض خطوات الخوارزمية دون تغيير بنيتها العامة.
-
الوسيط - يوفر فئة وسيطة تتعامل مع جميع الاتصالات بين الفئات المختلفة.
-
سلسلة المسؤولية - تجعل من الممكن تجنب الاعتماد الصارم بين المرسل والمتلقي للطلب؛ علاوة على ذلك، يمكن معالجة الطلب بواسطة عدة كائنات.
-
المراقب - يسمح لكائن واحد بمراقبة الأحداث التي تحدث في كائنات أخرى والاستجابة لها.
-
الإستراتيجية - تسمح بتغيير الاستراتيجيات (الخوارزميات) في وقت التشغيل.
-
الأمر - واجهة تعلن عن طريقة لتنفيذ إجراء معين.
-
الحالة - تسمح للكائن بتغيير سلوكه اعتمادًا على حالته.
-
الزائر — يستخدم لتبسيط العمليات على مجموعات من الكائنات ذات الصلة.
-
مترجم - يحدد القواعد النحوية للغة بسيطة في مجال المشكلة.
-
Iterator - يصل بشكل تسلسلي إلى عناصر المجموعة دون معرفة شكلها الأساسي.
-
Memento — يُستخدم لتخزين حالة الكائن؛ يمكن استعادة هذه الحالة لاحقًا.
|
المزيد من القراءة: |
|---|
GO TO FULL VERSION