دليل موجز لأنماط التصميم في JavaScript



ستساعدك هذه المقالة في نهج مفصل حول أنماط التصميم في JavaScript بطريقة مبسطة لفهم أفضل.

هي الحلول المتقدمة الموجهة للكائنات لمشاكل البرامج المتكررة الشائعة. الأنماط هي التصاميم والتفاعلات القابلة لإعادة الاستخدام للكائنات. كل نمط له اسم ويصبح جزءًا من المفردات عند مناقشة حلول التصميم المعقدة.

كيفية استخدام الفرز في c ++

ما هي أنماط التصميم في JavaScript؟

يمكن تعريفه على أنه أ قالب البرنامج أو وصف لحل مشكلة تحدث في حالات متعددة أثناء تصميم تطبيق برنامج أو إطار عمل برنامج.





أنماط تصميم منشئ

الآن ، دعونا نناقش عصابة الأربعة (GoF)



عصابة الأربعة

ال 23 عصابة من أربعة (GoF) عادة ما تعتبر الأنماط الأساس لجميع الأنماط الأخرى.

عصابة الأربعة (GoF) من أنماط التصميم:



عناصر البرمجيات الموجهة للكائنات القابلة لإعادة الاستخدام ، سلسلة الحوسبة الاحترافية أديسون ويسلي ، بقلم إريك جاما ، ريتشارد هيلم ، رالف جونسون ، و جون فليسيديس. تيتعتبر أنماط GoF 23 بشكل عام الأساس لجميع الأنماط الأخرى.يتم تصنيفهم إلى ثلاث مجموعات: إبداعي وتركيبي وسلوكي.

أنواع أنماط التصميم

هناك ثلاثة أنواع مختلفة من أنماط التصميم في JavaScript. وهم على النحو التالي:

الأنماط الخلقية

مصنع الملخصات: يؤدي هذا إلى إنشاء مثيل مع العديد من عائلات الفئات. يوفر هذا واجهة لإنشاء عائلات مرتبطة أو كائنات تابعة دون أي تحديد لفئاتها الملموسة.

المنشئ: هذا البناء الكائن منفصل عن تمثيله. يفصل أيضًا بناء كائن معقد عن تمثيله بحيث يمكن إنشاء عملية البناء نفسها تمامًا باستخدام تمثيلات مختلفة.

طريقة المصنع: يؤدي هذا إلى إنشاء مثيل للعديد من الفئات المشتقة. تحدد أيضًا واجهة لإنشاء كائن ، ولكنها تتيح للفئة الفرعية تحديد الفئة التي سيتم إنشاء مثيل لها. يحتوي هذا أيضًا على طريقة المصنع التي تتيح للفئة تأجيل إنشاء مثيل للفئات الفرعية.

النموذج المبدئي: إنه مثيل مهيأ بالكامل يمكن نسخه أو استنساخه. على وجه التحديد ، نوع الكائنات التي يتم إنشاؤها باستخدام مثيل نموذجي ، قم بإنشاء كائنات جديدة عن طريق نسخ هذا النموذج الأولي.

سينجلتون: هي مثيلات مهيأة بالكامل ليتم نسخها أو استنساخها.إنه نوع معين من الكائنات يتم إنشاؤه باستخدام مثيل نموذجي وإنشاء كائنات جديدة عن طريق نسخ هذا النموذج الأولي.

الأنماط الهيكلية

مشترك كهربائي: يتطابق مع واجهات الفئات المختلفة. يحول أيضًا واجهة فئة إلى واجهة أخرى باستثناء تلك التي تحتوي على العميل. يتيح المحول أيضًا للفئات العمل معًا والتي لا يمكن أن تكون بسبب واجهات عدم التوافق.

جسر: يفصل واجهة الكائن عن تنفيذه. فصل الملخص عن تنفيذه بحيث يمكن أن يختلف الاثنان بشكل مستقل.

مركب: هيكل الشجرة عبارة عن كائنات بسيطة ومركبة ، تتكون من كائنات في هياكل شجرية لتمثيل التسلسلات الهرمية الجزئية. يتيح المركب للعملاء معالجة الكائنات الفردية وتركيبات الكائنات بشكل موحد.

مصمم: يضيف المسؤوليات إلى الأشياء ديناميكيًا. إرفاق المسؤوليات الإضافية إلى كائن ديناميكيًا. يوفر المصممون أيضًا بديلاً مرنًا للفئة الفرعية لتوسيع الوظائف.

مظهر زائف: فئة واحدة تمثل نظامًا فرعيًا كاملاً وتوفر واجهة موحدة لمجموعة من الواجهات في النظام. تحدد الواجهة واجهة ذات مستوى أعلى مما يجعل النظام الفرعي أسهل في الاستخدام.

وزن الذبابة: مثال دقيق يستخدم للمشاركة الفعالة لدعم أعداد كبيرة من الكائنات الدقيقة بكفاءة. وزن الطيران هو كائن مشترك يمكن استخدامه في عدة سياقات في وقت واحد.يعمل flyweight أيضًا ككائن مستقل في كل سياق - لا يمكن تمييزه عن مثيل للكائنات غير المشتركة.

الوكيل: إنه كائن يمثل كائنًا آخر. يوفر كائنًا بديلاً أو عنصرًا نائبًا للتحكم في الوصول إليه.

الأنماط السلوكية:

سلسلة المسؤولية: إنها طريقة لتمرير طلب بين سلسلة من العناصر. يتجنب الاقتران بالمرسل ويرسل طلبًا إلى المتلقي الخاص به من خلال منح أكثر من كائن فرصة للتعامل مع الطلب. يتم ربط الكائنات المستقبلة وتمرير الطلب على طول السلسلة حتى يتعامل معها كائن.

أمر: يقوم بتغليف طلب الأمر ككائن. الطلب المغلف ككائن ، مما يتيح لك تحديد معلمات للعملاء مع طلبات مختلفة أو قائمة انتظار أو طلبات تسجيل ، ودعم عمليات التراجع.

مترجم: إنها طريقة لتضمين عناصر اللغة في البرنامج. بالنظر إلى اللغة ، حدد تمثيلًا لقواعدها النحوية جنبًا إلى جنب مع مترجم يستخدم التمثيل لتفسير الجمل في اللغة.

التكرار: يوفر الوصول المتسلسل لعناصر مجموعة طريقة للوصول إلى عناصر كائن مجمع بالتسلسل دون الكشف عن تمثيله الأساسي.

الوسيط: يحدد يبسط الاتصال بين الفئات. حدد كائنًا يلخص كيفية تفاعل مجموعة من الكائنات. وسيط يروّج للاقتران السائب عن طريق منع الكائنات من الإشارة إلى بعضها البعض بشكل صريح ، ويسمح لك بتغيير تفاعلها بشكل مستقل.

تذكار: يلتقط ويعيد الحالة الداخلية للكائن. لا ينتهك التغليف والتقاط وإخراج الحالة الداخلية للكائن بحيث يمكن استعادة الكائن إلى هذه الحالة لاحقًا.

مراقب: إنها طريقة لإخطار التغيير في عدد من الفئات. وهي تحدد تبعية واحد لكثير بين الكائنات بحيث عندما يتغير كائن واحد في حالته ، يتم إخطار وتحديث جميع عناصر الاعتماد الخاصة به تلقائيًا.

حالة: يغير سلوك الكائن عندما تتغير حالته. يسمح لكائن ما بتغيير سلوكه عندما يتغير حالته الداخلية. سيظهر الكائن لتغيير فئته.

إستراتيجية: إنه يغلف خوارزمية داخل الفصل ويحدد خوارزمية الأسرة ، ويغلف كل منها ، ثم يجعلها قابلة للتبادل. تسمح الإستراتيجية للخوارزمية بالتنوع بشكل مستقل عن العملاء الذين يستخدمونها.

قالب: قم بتأجيل الخطوات الدقيقة للخوارزمية إلى فئة فرعية. يحدد الهيكل العظمي للخوارزمية في العملية ، ويؤجل بعض الخطوات المهمة للفئات الفرعية. تتيح لنا طريقة النموذج إنشاء فئة فرعية وإعادة تعريف خطوات معينة للخوارزمية دون تغيير بنية الخوارزمية.

الزائر: يحدد عملية جديدة لفصل دون تغيير. تمثل عملية يتم إجراؤها على عناصر بنية الكائن. يتيح لك الزائر تحديد عملية جديدة دون تغيير فئات العناصر التي تعمل عليها.

بهذا نصل إلى نهاية هذا المقال. أتمنى أن تكون قد فهمت أنماط التصميم في JavaScript وأنواعها وأهميتها وتنفيذها.

الآن بعد أن فهمت أساسيات أنماط التصميم في JavaScript ، تحقق من ملف من Edureka ، شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250.000 متعلم راضٍ منتشرين في جميع أنحاء العالم تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & ربيع .

لديك سؤال لنا؟ اذكرها في قسم التعليقات في مدونة 'Design Patterns in JavaScript' وسنعاود الاتصال بك في أقرب وقت ممكن.