DesignPatterns:design patterns/overview

از OCCC Wiki
پرش به ناوبری پرش به جستجو

الگوهای طراحی

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

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

الگوها در دنیای فناوری اطلاعات حول طراحی سیستم های خودکار که الگوهای طراحی نامیده می شوند در گردش است.

طراحی الگو به دلایل زیر مفید است:

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


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


منبع: http://cloudpatterns.org/design_patterns/overview

http://www.cloudcomputingpatterns.org/