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