هذا المبدأ تصحيح لعلاقة is-a العامة مثلا لما نقول أن العصفور is-a طير صحيح . لكن ظهرت لنا مشكلة لما نقول ان البطريق is-a طير . فالعصفور ممكن يطير لكن البطريق لا . فنعدل كلاس الطير بأن نضع فيه property اسمه canFly مثلا . هنا تظهر فائدة مثل هذه المباديء.
مبدأ ليسكوف نسبة للبروفيسورة Barbara Liskov و التي صممت في الستينات و السبعينات "كمبيوتر" ( instruction sets ) اسمته Venus Machine و صممت نظام تشغيل ايضا اسمته Venus OS ثم لغة برمجة اسمها CLU على ذلك النظام.
لغة CLU كان الهدف منها اثبات عملي لفكرتها عن الAbstract Data Type و الذي حصلت بسببه على جائزة Turing Award . جمال الADT نراه مثلاً في الList و التي قد تحتوي اي نوع من البيانات و مع ذلك نستطيع التعامل معها بغض النظر عن نوعها فنقوم بعمليات مثل insert و remove و size !.
توجد محاضرات للبروفيسورة Liskov في اليوتيوب ايضا لها كتب جميلة منها Program Development in Java. الاستماع و القراءة لمثل هؤلاء مهم بدل الكتب و الدروس السطحية.
جاري تحميل الاقتراحات...