SOLID (تصميم كائني المنحى)
SOLID ((بالعربية)) هو اسمً تاجي استذكاري وضعه مايكل فيذرز اختصاراً للمبادئ الخمسة الأولى المقترحة من قبل روبرت سي. مارتن[1] في بداية عام 2000[2] والمتبعة في البرمجة والتصميم كائني المنحى. هذه المبادئ هي: Single responsibility ((بالعربية)) وOpen-closed ((بالعربية)) وLiskov substitution ((بالعربية)) وInterface segregation ((بالعربية)) وDependency inversion ((بالعربية)). تهدف هذه المبادئ لدى تطبيقها إلى زيادة احتمال قيام المبرمج بتطوير نظامٍ سهل الصيانة والتمديد مستقبلاً.[2] يمكن القول أن مبادئ سوليد هي مجموعة من الإرشادات التي يؤدي تطبيقها أثناء تطوير النظام البرمجي إلى إزالة روائح الكود بسبب دفع المبرمج إلى إعادة هيكلة الكود مراراً وتكراراً إلى أن يحصل في النهاية على كود برمجي سهل القراءة والتمديد. تُعتبر سوليد جزءاً من إستراتيجية شاملة خاصة بالمنهجيات التكيفية والأجايلية.[2]
لمحة عامة
الحرف
الاستهلالي |
يرمز إلى | المفهوم |
---|---|---|
S | SRP [3] |
|
O | OCP [4] |
|
L | LSP [5] |
|
I | ISP [6] |
|
D | DIP [7] |
|
المراجع
- “الحصول على بداية سوليد.”، روبرت سي. مارتن (“العم بوب”), objectmentor.com. (بالإنجليزية) نسخة محفوظة 26 ديسمبر 2016 على موقع واي باك مشين.
- “التصميم الكائني المنحى سوليد”، ساندي ميتز (جامعة ديوك)، تموز، 2009. (بالإنجليزية) نسخة محفوظة 20 أكتوبر 2014 على موقع واي باك مشين.
- "Single Responsibility Principle" (PDF). مؤرشف من الأصل (PDF) في 09 أبريل 2019. الوسيط
|CitationClass=
تم تجاهله (مساعدة); تحقق من التاريخ في:|تاريخ أرشيف=
(مساعدة) (بالإنجليزية) - "Open/Closed Principle" (PDF). مؤرشف من الأصل (PDF) في 03 أبريل 2019. الوسيط
|CitationClass=
تم تجاهله (مساعدة); تحقق من التاريخ في:|تاريخ أرشيف=
(مساعدة) (بالإنجليزية) - "Liskov Substitution Principle" (PDF). مؤرشف من الأصل (PDF) في 02 أبريل 2019. الوسيط
|CitationClass=
تم تجاهله (مساعدة); تحقق من التاريخ في:|تاريخ أرشيف=
(مساعدة) (بالإنجليزية) - "Interface Segregation Principle" (PDF). مؤرشف من الأصل (PDF) في 02 أبريل 2019. الوسيط
|CitationClass=
تم تجاهله (مساعدة); تحقق من التاريخ في:|تاريخ أرشيف=
(مساعدة) (بالإنجليزية) - "Dependency Inversion Principle" (PDF). مؤرشف من الأصل (PDF) في 16 أبريل 2019. الوسيط
|CitationClass=
تم تجاهله (مساعدة) (بالإنجليزية)
- بوابة تقنية المعلومات
- بوابة علم الحاسوب