با سلام استاد در این مثالی که فرمودن اگر از وراثت استفاده کنیم برای کلاسهای ارسال sms و email و این کلاسها هر کدوم کلاس notification رو extend کنن اصل open-close نقض نمیشه؟
سلام دوست عزیز وقت بخیر
لطفا کدهاتون رو قرار بدید تا از روی کد بررسی کنیم و خدمتتون توضیح بدیم.
و اینکه استاد همین سوال رو در یک تاپیک پاسخ دادند که میتونید در لینک زیر بررسی کنید.
ببخشید کدها کامل نیست فقط به صورت کلی خواستم بپرسم میشه به این صورت هم انجام داد؟
ali tehrani۱۲ فروردین ۱۴۰۱، ۱۲:۴۹
سلام بله این مثال میتونه درست باشه
چون داخل این اصل گفته شده که کلاسها برای تغییر باید بسته باشند و تغییر نکنند ولی قابلیت توسعه داشته باشند. در مثال شما داخل کلاس نوتیفیکشین هیچ تغییری ایجاد نشده و شما اومدید ارسال نوتیفیکیشن به روش مختلف رو با کلاسهای جدا انجام داد و کلاس notification رو توسعه دادید و طبق توضیحات این اصل عملکرد شما درست هست.