ایده معماری شش ضلعی (معماری پیازی) این است که میتوانید آداپتورهای زیادی اطراف هسته برنامه خود داشته باشید؛ به این معنا که منطق اصلی یک کد خالص بدون ارجاع به دنیای خارج است و هیچ وابستگی ندارد. بنابراین نوشتن تست برای آن بسیار ساده است.
در سمت چپ تصویر بالا، میتوانیم آداپتورهایی را مانند یک API یا یک رابط خط فرمان اضافه کنیم. این آداپتورها، آداپتورهای اولیه یا محرک نامیده میشوند زیرا هسته را هدایت یا فراخوانی میکنند.
در سمت راست تصویر، آداپتورهایی برای زیرساختهایی مانند استفاده از صف پیام داریم. این آداپتورها، به دلیل کنترل معکوس و هدایت توسط هسته، آداپتورهای ثانویه یا محرک نامیده میشوند.
مسئولیت یک آداپتور ورود اطلاعات به داخل و خارج یک پورت است و بر اساس رابط ساخته شده است تا در آینده بتوان بدون هیچ تأثیری بر بخشهای سیستم جایگزین شود.
معماری شش ضلعی به معماری پورت و آداپتور نیز معروف است زیرا در آن اپلیکیشنی داریم که از طریق پورت ها یا آداپتورها با اجزای دیگر ارتباط برقرار میکند.
همچنین از نظر پیادهسازی بسیار شبیه به معماری لایهای است اما از نظر مفهومی معماری شش ضلعی برای portability و قابلیت تعویض ساخته شده است تا بتوان قطعات مختلف زیادی داشت که هر یک قابلیت جایگزینی در معماری را داشته باشند.
«این مطلب، بخشی از تمرینهای درس معماری نرمافزار در دانشگاه شهیدبهشتی است»
[1] https://fideloper.com/hexagonal-architecture