В чем разница между гексагональной архитектурой и Onion
Гексагональная архитектура (Ports & Adapters) и Onion (луковая) архитектура — это два подхода к организации кода с акцентом на изоляцию бизнес-логики от внешних зависимостей.
Гексагональная фокусируется на четком разделении входа (UI, API) и выхода (БД, внешние сервисы) через порты (интерфейсы) и адаптеры (реализации). Бизнес-логика в центре, а внешние слои подключаются через адаптеры.
Onion архитектура делит систему на концентрические слои, где внутренние слои не зависят от внешних. В центре — доменная модель, далее — сервисы, репозитории, инфраструктура. Зависимости направлены внутрь.
Пример Onion:
// Domain (внутренний слой)
public class Order { ... }
// Service (средний слой)
public class OrderService {
private final OrderRepository repository; // зависимость внутрь
...
}
// Infrastructure (внешний слой)
public class JpaOrderRepository implements OrderRepository { ... }Ключевое отличие: Onion строже в направлении зависимостей (DIP), гексагональная — гибче в адаптерах. Обе уменьшают связанность, но Onion чаще используют в DDD.

офферы быстрее!
Следующий вопрос
Это единственный вопрос по вашему фильтру