What is Hexagonal Architecture (Ports and Adapters)?
Updated Apr 28, 2026
Short answer
An architectural pattern that aims at creating loosely coupled application components that can be easily connected to their software environment.
Deep explanation
Mid-level architecture focuses on system interactions and decoupling. Dependency Injection is a key tool here, allowing for easier testing and modularity. You also begin to encounter trade-offs in distributed systems, such as those described by the CAP theorem. The goal shifts from 'writing good code' to 'designing good components'.
Real-world example
Using a message broker like RabbitMQ to decouple a 'Payment' service from an 'Email Notification' service.
Common mistakes
- Using CQRS for a simple CRUD application, leading to unnecessary complexity and data synchronization issues.
Follow-up questions
- What is the 'Inversion of Control' container?