اصول SOLID راهنمای طراحی کلاس‌ها و ماژول‌هاست؛ آن‌ها را قانون مطلق ندانید، بلکه معیار قضاوت بدانید.

  • S – مسئولیت واحد: هر کلاس یک دلیل برای تغییر داشته باشد.
  • O – باز/بسته: برای توسعه باز، برای تغییر بسته؛ رفتار جدید را اضافه کنید، نه کد قدیمی را دستکاری.
  • L – جایگزینی لیسکوف: زیرکلاس باید بتواند جای کلاس پایه بنشیند بدون شکستن رفتار.
  • I – جداسازی اینترفیس: اینترفیس‌های کوچک و متمرکز بهتر از یک اینترفیس بزرگ‌اند.
  • D – وارونگی وابستگی: به انتزاع وابسته شوید، نه به پیاده‌سازی مشخص.

در عمل از مسئولیت واحد و وابستگی به انتزاع شروع کنید؛ این دو بیشترین اثر را در خوانایی و تست‌پذیری دارند.