اصول Solid در سال 2000 توسط Robert martin یا Uncle Bob معرفی شدند ..

هدف از این 5 اصل طراحی نرم افزارهایی با کیفیت بالا ، طراحی خوب و سهولت نگهداری است ..

 

اصل اول : Single responsiblity principle : 

هر متد یا کلاس در برنامه فقط باید یک وظیفه داشته باشد .

هر متد یا کلاس در برنامه فقط باید در برار یک وظیفه مسئول باشد .

 

اصل دوم : The open close principle

در هر کلاس راه برای ویرایش (modification) باید بسته باشد و برای توسعه (extension) باز ..

عدم ویرایش بدین معنی است که هر گونه تغییری درون متد نباید Public API را تحت تاثیر قرار دهد .

این بدین معناست که Component های وابسته در اثر این تغییرات دچار اشکال نشوند .

 

اصل سوم : Liskov Substitution Principle

کلاسهای به ارث رفته (مشتق شده) باید بتوانند جایگزین کلاسهای اصلی شوند.

 

اصل چهارم : Interface Segregation Principle

تعداد بیشتری اینترفیس کوچک و خاص، بهتر از یک اینترفیس بزرگ (چاق) با متدهای بیشتر است.