سالید (طراحی شیءگرا)

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

سالید (تک وظیفه‌ای، باز ـ بسته، جایگزینی لیسکُوْ، تجزیهٔ رابط، وارنگیِ وابستگی) یک سرواژهٔ یادیار است که توسط مایکل فیدر برای اشاره به «پنج اصل اول» رابرت سی مارتین در اوایل دههٔ ۲۰۰۰، معرفی شد. این یادیار مخفف پنج اصل اساسی برنامه‌نویسی و طراحی شیءگرا می‌باشد. وقتی این اصول با هم در طراحی و پیاده‌سازی یک برنامه اعمال می‌شوند، به احتمال قریب به یقین آن سیستم قابلیت این را خواهد داشت که به آسانی قابل توسعه‌پذیری و نگهداری باشد. در حقیقت اصول سالید، دستورالعمل‌هایی هستند که می‌توان هنگام کار بر روی یک نرم‌افزار، آن‌ها را برای از بین بردن، عوامل نامطلوب در کد، اعمال کرد. اینکار از طریق فراهم آوردن چارچوبی انجام می‌گیرد که با استفاده از آن برنامه‌نویس می‌تواند متن برنامه را اصلاح و بازسازی کندتا کد برنامه خوانا و توسعه‌پذیر شود. این اصول بخشی از راهبرد توسعهٔ نرم‌افزار چابک و تطبیقی می‌باشند.

حرف اول مخفف مفهوم
S SRP اصل تک‌وظیفه‌ای

یک کلاس باید تنها یک وظیفه داشته باشد (یک کلاس باید تنها یک دلیل برای تغییر داشته باشد و نه بیشتر)

O OCP اصل باز ـ بسته

اجزای نرم‌افزار باید نسبت به توسعه باز (یعنی پذیرای توسعه باشد) و نسبت به اصلاح بسته باشند (یعنی پذیرای اصلاً نباشد). (یعنی مثلاً برای افزودن یک ویژگی جدید به نرم‌افزار نیاز نباشد که بعضی از قسمت‌های کد را بازنویسی کرد، بلکه بتوان آن ویژگی را مانند پلاگین به راحتی به نرم‌افزار افزود)

L LSP اصل جانشینی لیسکو

اشیاءِ یک برنامه که از یک کلاس والد هستند، باید به راحتی و بدون نیاز به تغییر در برنامه، قابل جایگزینی با یکدیگر باشند.

I ISP اصل تجزیهٔ (تفکیک) رابط

استفاده از چند رابط که هر کدام، فقط یک وظیفه را بر عهده دارد بهتر از استفاده از یک رابط چند منظوره است.

D DIP اصل وارونگی وابستگی

بهتر است که برنامه به تجرید(abstraction) وابسته باشد نه پیاده‌سازی

منابع[ویرایش]