30 تیر 1405

اصل Open Closed در سالید

SOLID مجموعه‌ای از ۵ اصل طراحی شیءگرا (Object-Oriented Design) است که هدف آن این است کدها قابل نگهداری، قابل توسعه، تست‌پذیر و کم‌وابسته (loosely coupled) باشند. این اصول باعث می‌شوند هنگام اضافه کردن قابلیت‌های جدید، کمتر مجبور شوید کدهای قبلی را تغییر دهید.

  • S - Single Responsibility Principle (اصل مسئولیت واحد) هر کلاس فقط یک دلیل برای تغییر داشته باشد؛ یعنی فقط یک مسئولیت مشخص را بر عهده بگیرد.
  • O - Open/Closed Principle (اصل باز/بسته) کلاس‌ها برای توسعه (Extension) باز باشند، اما برای تغییر (Modification) بسته باشند. یعنی بدون دست بردن در کدهای موجود، بتوان قابلیت جدید اضافه کرد.
  • L - Liskov Substitution Principle (اصل جایگزینی لیسکوف) هر کلاس فرزند باید بتواند بدون ایجاد مشکل جایگزین کلاس والد خود شود. یعنی رفتار کلاس فرزند نباید قرارداد کلاس والد را نقض کند.
  • I - Interface Segregation Principle (اصل تفکیک اینترفیس) به جای یک اینترفیس بزرگ، چند اینترفیس کوچک و تخصصی داشته باشید تا هر کلاس فقط متدهایی را پیاده‌سازی کند که واقعاً به آن‌ها نیاز دارد.
  • D - Dependency Inversion Principle (اصل وارونگی وابستگی) کلاس‌ها باید به انتزاع‌ها (Interface/Abstraction) وابسته باشند، نه به پیاده‌سازی‌های واقعی. این اصل معمولاً با Dependency Injection (DI) پیاده‌سازی می‌شود.
  • سیشارپ
  • برنامه نویسی
  • دات نت
  • کدنویسی
  • C#
  • Programing
  • DesignPattern