رعایت اصول solid کمک میکنند تا نرمافزاری بسازید که به سادگی قابل توسعه باشد و تغییرات در آن بدون دردسر انجام شود. شرایطی را تصور کنید که کدهایی که امروز با زحمت زیاد نوشتهاید، چند ماه دیگر تبدیل به کابوسی بزرگ برای تغییر یا توسعه شوند.
اصول solid پنج اصل در طراحی نرمافزار هستند که به توسعهدهندگان در برطرف کردن مشکلات طراحی نرمافزار کمک میکنند. توسعهدهندگان با رعایت این اصول میتوانند نرمافزارهایی با کیفیت، انعطافپذیر، خوانا و با قابلیت استفاده مجدد بنویسند.
- «اصل تک مسئولیتی» (Single Responsibility Principle | SRP)
- «اصل باز - بسته» (Open/Closed Principle | OCP)
- «اصل جایگزینی لیسکوف» (Liskov Substitution Principle | LSP)
- «اصل جداسازی اینترفیسها» (Interface Segregation Principle | ISP)
- «اصل وارونگی وابستگی» (Dependency Inversion Principle | DIP)
اصل تک مسئولیتی در اصول solid در سی شارپ
اصل تک مسئولیتی به این نکته مهم اشاره میکند که هر کلاس فقط و فقط باید یک مسئولیت یا هدف داشته باشد. به زبان ساده، بر مبنای این اصل باید کلاسهایی متمرکز ایجاد کرد که تنها یک وظیفه واحد و مشخص را انجام دهند.
اصل باز - بسته در اصول solid در سی شارپ
این اصل بیان میکند که موجودیتهای نرمافزاری همچون کلاسها، توابع، ماژولها و سایر موارد دیگر باید برای توسعه باز و برای اصلاح بسته باشند. در واقع، این اصل به این نکته اشاره دارد که برنامه باید بتواند بدون تغییر کد اصلی توسعه پیدا کند. برای رسیدن به این هدف نیز توصیه میکند که کد موجود باید از انتزاع، «چندریختی» (Polymorphism) و وراثت برای توسعه استفاده کند.
اصل جایگزینی لیسکوف در اصول solid در سی شارپ
این اصل بیان میکند که هر کلاس مشتق شدهای را باید بتوان به جای کلاس والد استفاده کرد و کاری کرد که این کلاس بدون تغییر به همان شیوه کار کند. در واقع، هر شی از یک زیر کلاس باید دقیقاً رفتاری مشابه با شی از کلاس والد داشته باشد تا هر کد نوشته شده از روی کلاس والد بدون تغییر با زیرکلاس نیز کار کند.
اصل جداسازی اینترفیسها در اصول solid در سی شارپ
بر اساس این اصل هیچ کلاسی نباید اینترفیسهایی را پیادهسازی کند که به آنها نیازی ندارد. در واقع، بر اساس این اصل به جای تعریف یک اینترفیس شلوغ بهتر است که چندین اینترفیس کوچک با عملکردهای مشخص در برنامه تعریف شوند.
اصل وارونگی وابستگی در اصول solid در سی شارپ
اصل وارونگی وابستگی یکی دیگر از اصول مهم solid است. این اصل به موارد زیر اشاره میکند.
- ماژولهای سطح بالا نباید به صورت مستقیم به ماژولهای سطح پایین وابسته باشند.
- تمام ماژولهای برنامه هم سطح بالا و هم سطح پایین باید به یک انتزاع وابسته باشند.
- انتزاعها نباید به جزئیات وابسته باشند، بلکه جزئیات باید به انتزاعها وابسته باشند.