DesignPatterns:design patterns/overview
الگوهای طراحی
یک الگو راه حل هایی رایج برای مسایل مشترک را معرفی می کنند که به صورت جداگانه در یک قالب پایدار مستند می شود و معمولا به عنوان بخشی از یک مجموعه بزرگتر است. الگو یک بخش اساسی از زندگی روزانه ماست . ما هر روز بدون اینکه خبر داشته باشیم به طور طبیعی از راه حل های ثابت برای حل مسایل مشترک استفاده می کنیم.
الگوها در دنیای فناوری اطلاعات حول طراحی سیستم های خودکار که الگوهای طراحی نامیده می شوند در گردش است.
طراحی الگو به دلایل زیر مفید است:
- راه حل های آزمایش شده برای مشکلات شایع طراحی را بیان می کند.
- بینش طراحی را به صورت یک قالب استاندارد سازماندهی می کند.
- عموما توسط حرفه ای های فناوری اطلاعات که درگیر طراحی هستند قابل تکرار هستند.
- به منظور اطمینان از استحکام طراحی و ساخت یک سیستم می تواند مورد استفاده قرار بگیرد.
- می تواند به عنوان مبنایی برای طراحی استاندارد ها استفاده شود.
- عموما قابل انعطاف و اختیاری هستند.
- برای اهداف آموزشی از طریق مستند کردن ابعاد خاصی از طراحی سیستم می توانند استفاده شوند
- گاهی اوقات می تواند قبل و بعد از پیاده سازی سیستم به کار برده شود.
- می تواند از طریق برنامه الگوهای طراحی دیگر که قسمتی از همان مجموعه هستند پشتیبانی شود.
- فرهنگ لغات یک زمینه فناوری اطلاعات معین را غنی می کند زیرا به هر الگو یک نام معنی دار نسبت داده می شود.
به علاوه، از آنجایی که راه حل های ارائه شده توسط الگوهای طراحی ثابت هستند، برنامه ثابت آنها به طور طبیعی تمایل به بهبود کیفیت طراحی های سیستم دارند. این نکته در نظر گرفته شود که گرچه الگوهای طراحی راه حل های طراحی اثبات شده ای را ارائه می دهند ولی استفاده صرف از آن ها نمی تواند تضمین دهد که مشکل های طراحی همیشه همان طور که خواسته شده حل شود. عوامل زیادی در موفقیت نهایی استفاده از الگوی طراحی نظیر، محدودیت هایی که توسط محیط اجرا بوجود می آید، نیازمندی های کسب و کار واگرا و غیره تاثیر دارند. همه این ابعاد بیان شده بر میزان موفقیت بکار گیری یک الگو تاثیر می گذارد.
زبان الگو مجموعه ای از الگوهای مرتبط به هم است که به صورت بلوک های ساختمانی عمل می کنند که می توانند در یک یا چندین توالی از برنامه ی الگو به کار گرفته شوند به طوری که الگوی بعدی بر روی الگوی قبلی ساخته می شود.