de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

مقدمه

معماری شش‌ضلعی، که به عنوان معماری دروازه‌ها و ادپترها نیز شناخته می‌شود، الگوی معماری قدرتمندی در طراحی نرم‌افزار است. این معماری برای ایجاد سیستم‌های نرم‌افزاری با مؤلفه‌های کم‌وابسته و قابل تعویض طراحی شده است که می‌توانند به راحتی با محیط خود از طریق دروازه‌ها و ادپترها تعامل داشته باشند. این رویکرد انعطاف‌پذیری، قابلیت آزمون و نگهداری سیستم‌های نرم‌افزاری را افزایش می‌دهد. در این راهنمای مبتدی، به شما معماری شش‌ضلعی را با توضیحات ساده و مثال‌ها آشنا می‌کنیم و بر جریان داده تمرکز می‌کنیم.

Hexagonal Architecture Diagram Tool

درک مفاهیم پایه

منشأ

معماری شش‌ضلعی توسط الیستر کاکبرن در سال ۲۰۰۵ به عنوان پاسخ به مشکلات رایج در طراحی نرم‌افزارهای شی‌گرا معرفی شد. هدف این معماری حذف مشکلاتی مانند وابستگی‌های شدید بین بخش‌های مختلف سیستم و ترکیب منطق کسب‌وکار با کد رابط کاربری است.

نمایش شش‌ضلعی

نام «شش‌ضلعی» معماری به نمایش گرافیکی مؤلفه‌های برنامه به صورت سلول‌های شش‌ضلعی اشاره دارد. این به معنای این نیست که باید دقیقاً شش دروازه یا مرز وجود داشته باشد؛ بلکه یک چارچوب مفهومی برای نمایش انواع رابط‌های مورد نیاز بین یک مؤلفه و دنیای خارجی ارائه می‌دهد.

اصول کلیدی

تقسیم مؤلفه‌ها

معماری شش‌ضلعی یک سیستم نرم‌افزاری را به مؤلفه‌های کم‌وابسته و قابل تعویض تقسیم می‌کند. این مؤلفه‌ها شامل هسته برنامه، پایگاه داده، رابط کاربری، اسکریپت‌های آزمون و رابط‌های با سیستم‌های دیگر هستند. این رویکرد با معماری لایه‌ای سنتی متفاوت است.

دروازه‌ها و پروتکل‌ها

هر مؤلفه از طریق «دروازه‌های» آشکار شده با سایر مؤلفه‌ها ارتباط برقرار می‌کند که نحوه ارتباط را تعریف می‌کنند. این دروازه‌ها بر اساس هدف خود به پروتکل‌های خاصی پایبند هستند. این دروازه‌ها و پروتکل‌ها یک API مفهومی را تشکیل می‌دهند که می‌تواند با استفاده از روش‌های فنی مختلفی مانند فراخوانی روش‌ها، فراخوانی‌های راه دور یا خدمات وب پیاده‌سازی شود.

دقت دروازه‌ها

دقت دروازه‌ها انعطاف‌پذیر است. یک مؤلفه می‌تواند داشته باشد:

  • یک دروازه واحد برای مصرف ساده سرویس.
  • دروازه‌های منبع رویدادها (مثلاً رابط کاربری و تغذیه خودکار).
  • دروازه‌های اطلاع‌رسانی (اعلامیه‌های خروجی).
  • دروازه‌های تعامل با پایگاه داده (برای ارتباط با سیستم مدیریت پایگاه داده).
  • دروازه‌های مدیریتی (برای کنترل مؤلفه).
  • در برخی موارد، اگر لازم باشد، ممکن است برای هر مورد مصرف از دروازه‌های متفاوتی وجود داشته باشد.

ادپترها

ادپترها به عنوان واسطه بین مؤلفه‌ها و دنیای خارج عمل می‌کنند. آنها فاصله بین سیستم‌های خارجی و دروازه‌هایی که نیازهای داخلی یک مؤلفه برنامه را نمایش می‌دهند را پر می‌کنند. چندین ادپتر می‌توانند به یک دروازه مرتبط شوند. به عنوان مثال، داده می‌تواند توسط کاربر از طریق رابط کاربری گرافیکی (GUI)، رابط خط فرمان، منبع داده خودکار یا اسکریپت‌های آزمون وارد شود.

یادگیری از طریق مثال با Visual Paradigm Online

برای درک عمیق‌تر معماری شش‌ضلعی و ایجاد نمودارهای معماری شش‌ضلعی که جریان داده را نشان می‌دهند، می‌توانید ازVisual Paradigm Onlineالگوهای آماده آن استفاده کنید. اینطوری:

  1. به Visual Paradigm Online مراجعه کنید: به وب‌سایت Visual Paradigm Online مراجعه کنید و در صورت عدم داشتن حساب، یک حساب ایجاد کنید.
  2. یک الگوی معماری شش‌ضلعی انتخاب کنید: کتابخانه الگو را بررسی کنید و الگوی نمودار معماری شش‌ضلعی را انتخاب کنید که به پروژه شما مناسب باشد. این الگوها اغلب شامل مؤلفه‌های پیش‌تعیین‌شده، دروازه‌ها و ادوات هستند.
  3. نمودار خود را سفارشی کنید: الگو را به گونه‌ای تغییر دهید که سیستم نرم‌افزاری خاص خود را نشان دهد. مؤلفه‌ها را اضافه یا حذف کنید، تعداد و انواع دروازه‌ها را تنظیم کنید و پروتکل‌های ارتباطی را تعریف کنید.
  4. دروازه‌ها و ادوات را به هم وصل کنید: از پیکان‌ها یا اتصالات برای نمایش جریان داده بین دروازه‌ها و ادوات استفاده کنید. این کار به شما کمک می‌کند تا نحوه حرکت اطلاعات درون سیستم خود را درک کنید.
  5. طراحی خود را مستند کنید: به نمودار خود نظرات یا توضیحات اضافه کنید تا هدف هر مؤلفه، دروازه و ادوات را توضیح دهید. این مستندات برای تیم شما و مراجع آینده ارزشمند هستند.
  6. همکاری و به اشتراک گذاشتن: Visual Paradigm Online امکان همکاری با همکاران تیم خود را فراهم می‌کند. همچنین می‌توانید نمودارهای خود را با ذینفعان به اشتراک بگذارید تا بازخورد و بررسی دریافت کنید.
  7. تکرار و بهبود: همان‌طور که طراحی نرم‌افزار شما پیشرفت می‌کند، می‌توانید به راحتی نمودارهای معماری شش‌ضلعی خود را به‌روزرسانی کنید تا هرگونه تغییر در ساختار و جریان داده سیستم را منعکس کنند.

: با یادگیری از طریق مثال‌ها و استفاده از ابزارهایی مانند Visual Paradigm Online، درک عملی از معماری شش‌ضلعی و مزایای آن در طراحی سیستم‌های نرم‌افزاری قوی و انعطاف‌پذیر پیدا خواهید کرد.