بررسی اجمالی
شما اصل پست Liskov را که بخشی از اصل SOLID است یاد خواهید گرفت. بنابراین SOLID مخفف چیست؟ اصول SOLID اصول طراحی هستند که ما را قادر می سازند تا اکثر مشکلات طراحی نرم افزار را که با آن مواجه می شویم مدیریت کنیم.
اصطلاح SOLID به پنج اصل طراحی اشاره دارد که طراحی نرم افزار را قابل درک تر، انعطاف پذیرتر و قابل نگهداری تر می کند.
"SOLID" هر حرف معنای خاص خود را دارد،
- س: اصل مسئولیت واحد
- O: اصل باز-بسته
- L: اصل جایگزینی لیسکوف
- I: اصل جداسازی رابط
- د: اصل وارونگی وابستگی
اصل جایگزینی لیسکوف
باربارا لیسکوف این مفهوم را در کار خود در مورد انتزاع داده ها و نظریه نوع معرفی کرد. یک کلاس مشتق شده باید جایگزینی برای کلاس پایه خود باشد تا در صورت استفاده از مشتق آن کلاس، استفاده از کلاس پایه باید به درستی کار کند.
ایده این است که کلاس های مشتق شده جایگزین کلاس های پایه ای می شوند که از آنها مشتق شده اند.
بحث فنی
بیان مسأله
ممکن است چندین وبلاگ را در LSP دیده باشید که نمونه هایی از میوه، پرندگان، یا مربع و مستطیل را به اشتراک می گذارند. اکنون چند نمونه از دنیای واقعی آوردهام.
به عنوان مثال، بیایید سرویسهای احراز هویت سه بعدی را که به بازرگانان کارت اعتباری و کارت اعتباری خود برای تأیید اعتبار تراکنشهایشان ارائه میدهند، بررسی کنیم. این دارای چندین نسخه احراز هویت است: نسخه 1 و نسخه 2. هر کسی می تواند از هر یک از نسخه های احراز هویت استفاده کند. همچنین، نسخه های جدید می تواند در آینده اضافه شود. بنابراین، سعی کنید از مفهوم جایگزینی برای حل این مشکل نسخه استفاده کنید.