خانه › الگوهای طراحی

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

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

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

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

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

فهرست الگوها

مدیریت خودکارAutomated Administrationمدیریت کلید ابریCloud Key Managementکاهش مصرف برقPower Consumption Reductionتأمین سخت‌افزار خام (Bare-Metal)Bare-Metal Provisioningدسترسی مستقیم I/ODirect I/O Accessدسترسی مستقیم LUNDirect LUN Accessمقیاس‌پذیری پویاDynamic Scalabilityتأمین کشسان دیسکElastic Disk Provisioningظرفیت کشسان شبکهElastic Network Capacityظرفیت کشسان منبعElastic Resource Capacityخوشه‌بندی هایپروایزرHypervisor Clusteringنمونه‌های سرور مجازی با بار متوازنLoad Balanced Virtual Server Instancesسوئیچ‌های مجازی با بار متوازنLoad Balanced Virtual Switchesدسترسی چندمسیره به منبعMultipath Resource Accessجابه‌جایی سرویس بدون اختلالNon-Disruptive Service Relocationپیکربندی ماندگار شبکهٔ مجازیPersistent Virtual Network Configurationتأمین پلت‌فرمPlatform Provisioningتوزیع بارکاریWorkload Distributionدسترسی بلادرنگ به وضعیت منبعRealtime Resource Availabilityتأمین سریعRapid Provisioningاتصال فیزیکی افزونه برای سرورهای مجازیRedundant Physical Connection for Virtual Serversتجمیع منابع (مخزن منبع)Resource Poolingرزرو منبعResource Reservationمدیریت وضعیت سرویسService State Managementمنابع مشترکShared Resourcesزمان ازکارافتادگی صفرZero Downtimeمحیط تعریف‌شدهٔ خودکارAutomatically Defined Perimeterمحرمانگی داده در محیط‌های چندمستأجرهData Confidentiality in Multitenant Environmentsجداسازی مرز اعتماد در لایه‌های پیوند داده و شبکهData Link and Network Layer Trust Boundary Isolationاثبات صحت پیام ابریآیینه‌سازی حافظهٔ نهان ذخیره‌سازیStorage Cache Mirroringمدیریت فراگیر منابع فناوری اطلاعاتUbiquitous IT Resource Administrationمدیریت متمرکز از راه دورCentralized Remote Administrationتشخیص و بازیابی پویای خرابیDynamic Failure Detection and Recoveryجداسازی کانتینرها روی میزبان‌هامدیریت منبعResource ManagementخودتأمینیSelf-Provisioningمدیریت بارکاری ذخیره‌سازیStorage Workload Managementپایش مصرفUsage Monitoring