Onion Architecture
Также: Луковичная архитектура
Способ организации кода в виде слоев, где бизнес-логика находится в центре и не зависит от внешних инструментов.
Луковичная архитектура — это метод проектирования программы, при котором проект делится на уровни, как луковица. В самом центре находится «ядро» с бизнес-логикой (то, что делает ваше приложение полезным), а вокруг него наслоены внешние инструменты: база данных, интерфейс или API.
Представьте, что вы строите дом. Фундамент и стены — это ваша бизнес-логика. Обои, мебель и шторы — это внешние слои. Если вы решите сменить шторы (например, перейти с одной базы данных на другую), вам не нужно перестраивать весь дом. В этой архитектуре внешние слои могут меняться, но «сердце» программы остается нетронутым и защищенным от хаоса снаружи.
Зачем это нужно
Для вайбкодера это спасение от «спагетти-кода». Когда логика отделена от инструментов, вы можете легко менять API, переезжать на другую базу данных или подключать новые ИИ-модели, не переписывая всё приложение с нуля. Это делает код предсказуемым и легким для поддержки.