اصول سالید
اصول سالید به چه معناست؟
در طراحی شی گرایی پنج اصل اساسی مطرح میشه با برداشتن اولین حرف از این پنج اصل کامه سولید solid تشکیل میشه.آشنایی بر این موضوع از جمله باید های یک مخندس نر م افزار،برنامه نویس و توسعه دهنده می باشد.
از مهم ترین اهداف اصل بهبود فرآیند دیباگ کردن،انعطاف پذیری بیشتر برنامه ها ،افزایش مدت زمان نگهداری و همچنین افزودن قابلیت ها و ویژگی های بیشتر به برنامه ها می باشد.
اصل اول( SRP ) اصل تک مسئولیتی
Single Responsibility Principle
اصل دوم سالید(ocp)اصل باز و بسته
Open/Closed Principle
اصل سوم سالید(LSP)اصل جایگزینی
Liskov Substitution Principle
class C { … }
حالا میخوایم کلاس Cرو توسعه بدیم پس میام یه کلاسی دیگه مثلا کلاس Tمیسازم که از کلاس Cمشتق میشه در نتیجه کلاس Tیه زیر نوع از کلاس Cشد .
class T extends C { … }
در اسلاید قبل دیدید که از کلاس Cآبجکت هایی ساختیم و تو برنامه مورد استفاده قرارگرفت حالا میخوایم بجای کلاس Cاز کلاس T که یک زیر نوع کلاس Cبود استفاده کنیم.هدفذما از این عمل جایگزینی است که طبق اصل LSPوقتی جایگزینی انجام میشه نباید به خاطر جایگزینی برنامه دچار خطا بشه و کد برنامه تغییر کنه .
اصل چهارم سالید(ISP)اصل جداسازی اینترفیس ها
INTERFACE SEGREGATION PRINCIPLE
اما راه حل چیه :با جداسازی اینترفیس ها و اختصاص متد flyبه یک اینترفیس این اصل(ISP )به کمک ما میاد و مشکل حله .
۲)پیاده سازی اینترفیس کلاس های سطح پایین برای وابستگی به انتزاع
۳)استفاده از یک اینترفیس بجای استفاده مستقیم از کلاس های سطح پایین برای وابستگی کلاس های سطح بالا به انتزاع
۴)و درنهایت حذف وابستگی با استفاده ازاصل پنجم