# Hexagonal Architecture

> Separate core business logic from external concerns using ports and adapters

- **Category**: Cloud
- **Subcategory**: aws
- **Canonical URL**: https://designpattern.fyi/patterns/aws_hexagonal_architecture/

---

## Description
The Hexagonal Architecture pattern separates core business logic from external concerns using ports and adapters. The core application logic is independent of databases, UI, and external services. Adapters handle the translation between external systems and the core. This enables testability, maintainability, and flexibility in choosing technologies.


## Use Cases
Use when you want to separate business logic from infrastructure concerns, improve testability, or make your application more maintainable and flexible.





## Trade-offs


### Advantages

- Separates business logic from infrastructure

- Improves testability

- Enables technology flexibility

- Supports domain-driven design




### Considerations & Drawbacks

- Increased initial complexity

- More layers to manage

- Learning curve for the pattern







---
**Reference**: [Original Source](https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/hexagonal-architecture.html)

