اصول SOLID در برنامهنویسی شیگرا به شما کمک میکند تا طراحیهای شیگرا قابل فهمتر، انعطافپذیرتر و قابل نگهداری باشند.
این اصول همچنین باعث میشوند کدی خوانا و قابل آزمایش ایجاد شود که تیمهای توسعه میتوانند در هر زمان و مکان روی آن همکاری کنند و شما را با بهترین روشهای کدنویسی آشنا میکند.
SOLID مخفف پنج اصل طراحی کلاس در برنامهنویسی شیگرا است:
- S - Single Responsibility Principle (اصل مسئولیت تک)
- O - Open-Closed Principle (اصل باز-بسته)
- L - Liskov Substitution Principle (اصل جایگزینی لیسکوف)
- I - Interface Segregation Principle (اصل جداسازی رابط)
- D - Dependency Inversion Principle (اصل وارونگی وابستگی)
اصل Single Responsibility Principle چیست؟
اصل مسئولیت تک (SRP) بیان میکند که یک کلاس باید تنها یک دلیل برای تغییر داشته باشد. به عبارت دیگر، هر کلاس باید تنها یک مسئولیت داشته باشد و فقط همان کار را انجام دهد.
اصل Open-Closed Principle چیست؟
اصل باز-بسته (OCP) بیان میکند که موجودیتهای نرمافزار مانند کلاسها، ماژولها و توابع باید برای توسعه باز باشند اما برای تغییر بسته باشند. به این معنا که بتوانید قابلیتهای جدید اضافه کنید بدون آن که کد موجود را تغییر دهید.
اصل Liskov Substitution Principle چیست؟
این اصل بیان میکند که اشیاء یک سوپرکلاس باید با اشیاء زیرکلاسهای آن بدون ایجاد خطا یا شکستن برنامه قابل جایگزینی باشند. به عبارت دیگر، کلاسهای فرزند باید بتوانند جای کلاس والد را بدون ایجاد رفتار نامطلوب بگیرند.
اصل Interface Segregation Principle چیست؟
اصل جداسازی رابط (ISP) میگوید: «یک کلاینت نباید مجبور شود رابطی را پیادهسازی کند که از آن استفاده نمیکند.» به عبارت دیگر، بهتر است رابطها کوچک و تخصصی باشند تا کلاسها تنها روشهایی را پیادهسازی کنند که واقعاً به آنها نیاز دارند.
اصل Dependency Inversion Principle چیست؟
اصل وارونگی وابستگی (DIP) بیان میکند که کلاسها باید به جای وابستگی به کلاسها یا توابع مشخص، به رابطها یا کلاسهای انتزاعی وابسته باشند. این اصل باعث میشود کلاسها با پیروی از اصل باز-بسته برای توسعه باز و تغییرپذیر باشند.