معماری شش‌ضلعی یا Ports and Adapters منطق برنامه را از ابزارهای بیرونی جدا می‌کند. هسته از طریق Port قابلیت‌ها را تعریف می‌کند و Adapterها آن‌ها را به HTTP، دیتابیس یا سرویس خارجی متصل می‌کنند.

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

در Hexagonal Architecture می‌توان Port ذخیره سفارش را تعریف و Adapter پایگاه داده را جدا پیاده کرد. در تست از Adapter درون‌حافظه‌ای استفاده می‌شود.

مثال پورت و آداپتر

سرویس ثبت سفارش می‌تواند پورت PaymentGateway را تعریف کند و آداپترهای StripeGateway، BankGateway و FakeGateway آن را پیاده کنند. هسته کسب‌وکار نباید کلاس HTTP Client یا ORM خاص را مستقیماً وارد منطق پرداخت کند.