composition به علاوه interface به جای inheritance

php -
3 سال پیش توسط حسین حسین پور مطرح شد
آفلاین
user-avatar
حسین حسین پور ( 9366 تجربه )
3 سال پیش
تخصص : طراح رابط کاربری، برنامه‌نویس

لینک کوتاه اشتراک گذاری

0

سلام دوستان.
من جدیدا به این نتیجه رسیدم که استفاده از inheritance در طراحی الگو های کد هامون خیلی مشکل سازه . مثلا فرض کنید ما به یک متد در کلاس مجاور نیاز داریم که در کلاس ما و پدرانش هم نیست در نتیجه نیازه که یک instance جدید از کلاس مجاور بسازیم که به قول خارجیا performance killer هستش یعنی قاتل عملکرد کد به دلیل مصرف بیهوده memory.
یه مثلی هم میزنن که اگر ما بخوایم برای دسترسی به هر متدی یک نمونه از کلاس مجاور بسازیم مثل اینه که ما یک موز میخوایم بریم یک گوریل رو برداریم که دستش یه موزه :)
راه دوم هم اینه که متد رو در کلاس اول به صورت static تعریف کنیم که درد سر های خودش رو داره و معلوم نمیکنه واقعا که ما اصلا بخوایم از این متد جاهای دیگه استفاده کنیم یا نه.
راه حل سوم اینه که بیایم متد رو دوباره نویسی کنیم که قطعا اگر پروژه بزرگ باشه ما با کلی کد تکراری مواجه میشیم که maintain کردنشون کلی دردسره.
راه حل اصلی اینه که ما به کل بیایم inheritance رو بذاریم کنار و از composition استفاده کنیم. که چند تا کانال معروف در youtube در زمینه برنامه نویسی رو که بررسی میکردم این پیشنهاد رو داده بودند که یکیشون میگفت در php بهتره که از ترکیب composition + interface استفاده کنیم که توضیحات بیشتری نداد و منم راستش منبع مناسبی پیدا نکردم که این الگوی طراحی رو ببینم چطوره.
خواستم ببینم دوستان منبعی در این رابطه سراغ دارند؟

آفلاین
user-avatar
مهدی طهرانی ( 18536 تجربه )
3 سال پیش
تخصص : cloud architect

لینک کوتاه اشتراک گذاری

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.