SOLID (تصميم كائني المنحى)

سوليد  هو اسمً تاجي استذكاري وضعه مايكل فيذرز اختصاراً "للمبادئ الخمسة الأولى'" المقترحة من قبل روبرت سي. مارتن“الحصول على بداية سوليد.”، روبرت سي. مارتن (“العم بوب”), objectmentor.com.   في بداية عام 2000“التصميم الكائني المنحى سوليد”، ساندي ميتز (جامعة ديوك)، تموز، 2009.   والمتبعة في البرمجة والتصميم كائني المنحى. هذه المبادئ هي: Single responsibility (مسؤولية إفرادية) وOpen-closed (فتح-إغلاق) وLiskov substitution (استبدال ليسكوف) وInterface segregation (فصل الواجهة) وDependency inversion (عكس التبعية). تهدف هذه المبادئ -عند تطبيقها- إلى زيادة احتمال قيام المبرمج بتطوير نظامٍ سهل الصيانة والتمديد مستقبلاً. يمكن القول أن مبادئ SOLID هي مجموعة من الإرشادات التي يؤدي تطبيقها أثناء تطوير النظام البرمجي إلى إزالة روائح الشفرة بسبب دفع المبرمج إلى إعادة هيكلة الشفرة مراراً وتكراراً إلى أن يحصل في النهاية على شفرة برمجية سهلة القراءة والتمديد. تُعتبر SOLID جزءاً من ٱستراتيجية شاملة خاصة بالمنهجيات التكيفية والأجايلية.

 لمحة عامة 

 الحرف
الاستهلالييرمز إلى  المفهوم S SRP  Single responsibility principle ()
 يمتلك الصف مسؤولية واحدة فقط (بمعنى أن أي تعديل على توصيف البرنامج يجب أن يكون له تأثير على توصيف الصف). O OCP  Open-closed principle ()
يجب أن تكون البنى البرمجية قابلة للتمديد ومغلقة للتعديل. L LSP  Liskov substitution principle ()
 يجب على الكائنات الموجودة أثناء عمل البرنامج أن تكون قابلة للاستبدال بكائنات أخرى وارثة لها دون التأثير على صحة البرنامج. I ISP  Interface segregation principle ()
 إن وجود عدد من الواجهات الخاصة بالزبون أفضل كثيراً من وجود واجهة وحيدة عمومية الأهداف. D DIP  Dependency inversion principle ()
 «يجب الاعتماد على التجريدات وليس على التحقيقات»، عكس التبعية هي طريقة تساعد على اتباع هذا المفهوم.

 المراجع 

تصنيف:برمجة كائنية التوجه
تصنيف:تصميم البرمجيات