💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Verahram
design pattern
محمدعلی رضا حل شده توسط محمدعلی رضا

سلام

با توجه به تعاریف استاد و مطالعه ی خودم الگوهای طراحی یک راه حل کلی برای مشکلات مشترکی هستن که برای برنامه نویس‌ها پیش میان.design pattern‌ها یک تکه کد نیستن که reusable باشن بلکه فقط ایده ای برای حل یک مشکل هستن که توسط برنامه نویس‌ها در هرجای پروژه که به اون مشکل خوردن پیاده میشن.سوال من این هست که راه حل یک دیزاین پترن رو چجوری نشون میدن.مثلا دیزاین پترن singleton زمانی استفاده میشه که مشکل ما این هست که ‘نیاز است فقط و فقط یک instance از یک کلاس وجود داشته باشه’.سوال من اینه که راه حل دیزاین پترن singleton برای این مشکل رو چجوری نشون میدن وقتی یک تکه کد نیست.مثلا راه حل singleton توضیح خاصی هست؟امیدوارم منظورم رو واضح رسونده باشم’

سلاااااااااااااااااااااام

منظورتون رو خیلی سعی کردم بفهمم ولی درست نفهمیدم.

ما یه سری مساله پر تکرار داریم که دیزاین پترن‌ها راه حل هایی کلی هستن که در جای درست باید استفاده بشن.

وقتی به مساله ای خوردیم میتونیم اگر دیزاین پترن ای برای اون مساله وجود داشته باشه. از دیزاین پترن مناسب برای اون مساله استفاده کنیم.

بعضی وقتا ممکنه اسم دیزاین پترن بین همکارها یا هم تیمی‌ها مطرح بشه یا تو کد و داکیومنت پروژه اسم دیزاین پترن بیاد. ولی خیلی کم اسم دیزاین پترن‌ها تو پروژه‌ها مطرح میشه. (یعنی داریم اون دیزاین پترن رو استفاده میکنیم ولی اسمش رو نمیاریم یا نمیدونیم که داریم از فلان دیزاین پترن استفاده میکنیم.)

بین همکارها و هم تیمی‌ها اگر به مساله ای خوردید و دیزاین پترن مناسبی برای اون مساله میدونستید میتونید بگید از فلان دیزاین پترن استفاده کنیم. خیلی پیش میاد که ما و همکارهامون پیاده سازی یا کاری که اون دیزاین پترن انجام میده رو یادمون نباشه. اگر همکارهاتون اسم اون دیزاین پترن رو نشنیده باشن یا یادشون نباشه که چه کاری انجام میداد خب براشون توضیح میدید. مثلا میگید فلان جا از سینگلتون استفاده کنیم. بعد میگن سینگلتون چیه؟‌ میگید یه کاری میکنیم که کسی نتونه از فلان کلاس بیشتر از یه ابجکت ایجاد کنه.

 

امیدوارم تونسته باشم جواب سوال تون رو درست و کامل داده باشم. اگر منظورتون چیز دیگه ای بوده لطفا بیشتر توضیح بدید.

بهترین پاسخ
محمدعلی رضا ۲۳ خرداد ۱۴۰۰، ۱۱:۱۳

در جواب کامنت ورهرام:

گزاره تون بیشترش درسته.

یه سری مسائل زیاد پیش میان تو برنامه نویسی و توسعه نرم افزار، بیشتر هم تو برنامه نویسی شی گرا دیزاین پترن‌ها رو داریم.

یه نفر میاد اون مساله و راه حل بهینه اش رو شرح میده و یه اسم روش میذارم میشه دیزاین پترن.

گروه‌ها و تیم‌های مختلفی اومدن و دیزاین پترن هایی ارائه دادن. اولین و معروف‌ترین گروه که دیزاین پترن‌های خودش رو معرفی کرد اسمش Gang of Four بود.

توضیحات بیشتر رو میتونی تو این دو تا سایت بخونی:

https://refactoring.guru/design-patterns/history

https://www.tutorialspoint.com/design_pattern/design_pattern_overview.htm

محمدعلی رضا ۲۴ خرداد ۱۴۰۰، ۱۰:۱۸