الگوهای طراحی راه حل های معمولی برای مشکلات رایج در طراحی نرم افزار هستند. مانند نقشه های از پیش ساخته شده ای هستند که می توانید آنها را برای حل یک مشکل طراحی تکراری در کد خود استفاده و یا حتی شخصی سازی کنید.
شما نمی توانید فقط یک الگو را پیدا کنید و آن را در برنامه خود کپی کنید، این ساختار ها با کتابخانه هایی که نصب و استفاده می کنید متفاوتند. الگو یک قطعه کد خاص نیست، بلکه یک مفهوم کلی برای حل یک مشکل خاص است. شما می توانید جزئیات الگو را دنبال کنید و راه حلی متناسب با واقعیت های برنامه خود را پیاده سازی کنید.
الگوها اغلب با الگوریتم ها اشتباه گرفته می شوند، زیرا هر دو مفهوم راه حل های معمولی برای برخی از مسائل شناخته شده را توصیف می کنند. در حالی که یک الگوریتم همیشه مجموعه واضحی از اقدامات را تعریف می کند که می تواند به هدفی دست یابد، یک الگو توصیف سطح بالایی از یک راه حل است. کد یک الگوی اعمال شده برای دو برنامه مختلف ممکن است متفاوت باشد.
یک تحلیل در الگوریتم مانند یک دستور پخت عذا است، هر دو دارای مراحل روشن برای رسیدن به یک هدف هستند. از سوی دیگر، یک الگو بیشتر شبیه یک طرح اولیه است؛ شما می توانید ببینید که نتیجه و ویژگی های آن چیست، اما ترتیب دقیق اجرای آن به شما بستگی دارد.
الگو از چه چیزی تشکیل شده است؟
بیشتر الگوها بسیار رسمی توصیف می شوند تا افراد بتوانند آنها را در زمینه های مختلف بازتولید کنند. در اینجا بخش هایی هستند که معمولاً در توضیحات الگو وجود دارند:
- هدف الگو به طور خلاصه هم مشکل و هم راه حل را تشریح می کند.
- انگیزه بیشتر مشکل را توضیح می دهد و راه حلی را که الگو ممکن می سازد.
- ساختار کلاس ها هر بخش از الگو و نحوه ارتباط آنها را نشان می دهد.
- مثال کد در یکی از زبان های برنامه نویسی محبوب، درک ایده پشت الگو را آسان تر می کند.
- برخی از کاتالوگهای الگو، جزئیات مفید دیگری مانند قابلیت کاربرد الگو، مراحل اجرا و روابط با سایر الگوها را نمایش می دهد.