اصول 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
تعداد بیشتری اینترفیس کوچک و خاص، بهتر از یک اینترفیس بزرگ (چاق) با متدهای بیشتر است.
خیلی خوب بود !!