Reza Siahcheshm
Reza Siahcheshm
خواندن ۲ دقیقه·۷ ماه پیش

الگوی طراحی چیست؟

وی طراحی چیست؟
وی طراحی چیست؟

الگوی طراحی چیست؟

الگوهای طراحی راه‌حل‌های معمول برای مشکلاتی هستند که در طراحی نرم‌افزار اغلب پیش می‌آیند. آن‌ها مانند طرح‌های آماده‌ای هستند که می‌توانید آن‌ها را برای حل یک مسئله تکراری در کد خود سفارشی کنید.

شما نمی‌توانید همانند توابع یا کتابخانه‌های آماده از الگوهای طراحی استفاده کنید، یک الگو را پیدا کرده و آن را به برنامه خود کپی کنید. الگوهای طراحی یک قطعه کد خاص نیست، بلکه یک مفهوم کلی برای حل یک مشکل خاص است. شما می‌توانید جزییات الگوهای طراحی را دنبال کرده و یک راه‌حلی که با واقعیت‌های برنامه خود سازگار باشد پیاده‌سازی کنید.

الگوهای طراحی اغلب با الگوریتم‌ها اشتباه گرفته می‌شوند، زیرا هر دو مفهوم، راه‌حل‌های معمول برای برخی از مشکلات شناخته‌شده را توصیف می‌کنند. در حالی که یک الگوریتم همیشه مجموعه ای از اقدامات واضحی که می‌تواند به هدف رسید توصیف می کند، الگوی طراحی بیشتر راه‌حل مفهومی است. کد الگوی طراحی، توی دو برنامه مختلف ممکن است متفاوت اعمال شود.

اگر بخوایم الگوریتم با دستور پخت و پز مقایسه کنیم : هر دو برای رسیدن به هدف دارای مراحل واضح هستند. از سوی دیگر، یک الگو طراحی بیشتر شبیه یک طرح اولیه است: شما می توانید ببینید که نتیجه و ویژگی های آن چی هست، اما ترتیب دقیق اجرای آن به شما بستگی دارد.

الگو از چه تشکیل شده است؟

الگوهای بیشتر به شکل بسیار رسمی توصیف می‌شوند تا افراد بتوانند آن‌ها را در زمینه‌های مختلف بازتولید کنند. در اغلب موارد، بخش‌های زیر در توصیف یک الگوی طراحی حضور دارند:

  • هدف (Intent) الگوی طراحی که به طور خلاصه مسئله و راه‌حل را شرح می‌دهد.
  • انگیزه(Motivation) الگوی طراحی که مسئله و راه‌حل امکان‌پذیر می‌کند را به طور دقیق‌تر توضیح می‌دهد.
  • انگیزه(Motivation) الگوی طراحی به طور دقیق‌ که مسئله و راه‌حل امکان‌پذیر می‌کند را توضیح می‌دهد.
  • ساختار(Structure) کلاس‌ها، الگوی طراحی و رابطه آن‌ها در هر بخش نشان می‌دهد.
  • مثال کد(Code example) به درک ایده‌ی پشت الگوی طراحی در یکی از زبان‌های برنامه‌نویسی محبوب کمک می‌کند.

برخی از فهرست‌های الگوهای طراحی جزئیات دیگری را نیز لیست می‌کنند، مانند اعمالیت الگو، مراحل پیاده‌سازی و روابط با دیگر الگوها.

https://refactoring.guru/design-patterns/what-is-pattern
الگوی طراحیdesign patterns
شاید از این پست‌ها خوشتان بیاید