sab

Image
sab

بادئ التصميم الثابتة لبناء أنظمة مستقرة ومرنة (SOLID)

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

قبل البدء , نود توضيح بعض المصطلحات المستخدمة في هذا المقال , وهم اثنان:

صف وتعني المطصلح البرمجي كلاس Class

تابع وتعني المصطلح البرمجي دالة function

ما هي مبادئ التصميم الثابتة؟

مبادئ تصميم SOLID هي خمسة مبادئ تصميم برامج تُمكنك من كتابة تعليمات برمجية فعالة.

من المهم معرفة مبادئ OOP مثل الوراثة والتغليف والاستخراج وتعدد الأشكال ، ولكن كيف يمكنك استخدامها في عملك اليومي؟ أصبحت مبادئ تصميم SOLID شائعة للغاية في السنوات الأخيرة لأنها تجيب على هذا السؤال بطريقة مباشرة.

اسم SOLID هو اختصار مساعد للذاكرة حيث يمثل كل حرف مبدأ لتصميم البرامج، كما يلي:

(Single responsibility principle)S أي يمتلك الصف مسؤولية إفرداية فقط

O(Open-closed principle) يجب أن تكون البنى البرمجية مفتوحة إلى التمديد ومغلقة بالنسبة للتعديل.

L(Liskov substitution principle) يجب على الكائنات الموجودة أثناء عمل البرنامج أن تكون قابلة للاستبدال بكائنات أخرى وارثة لها دون التأثير على صحة البرنامج.

(Interface segregation principle)I إن وجود عدد من الواجهات الخاصة بالزبون أفضل كثيراً من وجود واجهة وحيدة عمومية الأهداف.

(Dependency inversion principle)D "يجب الاعتماد على التجريدات وليس التحقيقات"، عكس التبعية هي طريقة تساعد على اتباع هذا المفهوم.

تتداخل المبادئ الخمسة هنا وهناك، ويستخدمها المبرمجون على نطاق واسع.

تؤدي مبادئ SOLID إلى بنية برمجية أكثر مرونة واستقراراً مما يُسهل صيانتها وتوسيعها، وتصبح أقل عرضة للانهيار.

1- مبدأ المسؤولية الفردية SOLID

مبدأ المسؤولية الفردية هو أول مبدأ تصميم ل SOLID، ويمثله الحرف "S" ويحدده (Robert C Martin)،

ينص على أنه في أي تطبيق مُصمم، يجب أن يرتبط كل صف بمهمة خاصة به. واستخدام هذه المهمة يتم عند وجود سبب لاستخدام هذا الكود.

عندما يتعامل الصف(class) مع أكثر من مهمة واحدة، فإن أي تغييرات يتم إجراؤها على الوظائف قد تؤثر على الصفوف (class) الأخرى.

يعد هذا أمراً سيئاً جداً بحيث يُمكن أن يسبب مشكلة عند العمل على مستوى مشاريع برمجية معقدة عالية.

مثال على مبدأ المهام الفردية

دعونا نرى مثالاً باستخدام لغة Java مع العلم أنّه يمكنك تطبيق مبادئ تصميم SOLID على أي لغة OOP أيضاً.

سنُنشئ تطبيق باستخدام Java لمتجر كتب، نقوم بإنشاء صف كتاب يتيح للمستخدمين الحصول على عناوين كل مؤلفين لكل كتاب وتعيينهم، والبحث عن الكتاب ضمن سجلات البحث.

Category: Cloud Computing Tags: PHP