Midسختی 3 از ۵· در 62٪ مصاحبههای این حوزه پرسیده شده
اصل Open/Closed در SOLID یعنی چه؟
☆نشان کردنپاسخ کوتاه
کلاس باید برای توسعه باز و برای تغییر بسته باشد.
پاسخ کامل
رفتار جدید باید با افزودن کد جدید (مثلاً یک پیادهسازی تازه از یک Interface) اضافه شود، نه با تغییر کدی که قبلاً نوشته و تست شده است؛ این کار ریسک شکستن رفتار موجود را کم میکند.
مثال کد
public interface IDiscountStrategy { decimal Apply(decimal price); } public class BlackFridayDiscount : IDiscountStrategy { /* ... */ }
