VibeCoderzVibeCoderz
QA и процессы

Onion Architecture

Также: Луковичная архитектура

Способ организации кода в виде слоев, где бизнес-логика находится в центре и не зависит от внешних инструментов.

Луковичная архитектура — это метод проектирования программы, при котором проект делится на уровни, как луковица. В самом центре находится «ядро» с бизнес-логикой (то, что делает ваше приложение полезным), а вокруг него наслоены внешние инструменты: база данных, интерфейс или API.

Представьте, что вы строите дом. Фундамент и стены — это ваша бизнес-логика. Обои, мебель и шторы — это внешние слои. Если вы решите сменить шторы (например, перейти с одной базы данных на другую), вам не нужно перестраивать весь дом. В этой архитектуре внешние слои могут меняться, но «сердце» программы остается нетронутым и защищенным от хаоса снаружи.

Зачем это нужно

Для вайбкодера это спасение от «спагетти-кода». Когда логика отделена от инструментов, вы можете легко менять API, переезжать на другую базу данных или подключать новые ИИ-модели, не переписывая всё приложение с нуля. Это делает код предсказуемым и легким для поддержки.

Связанные термины

Частые вопросы

Это архитектурный подход, при котором приложение строится слоями. Главное правило: внутренние слои ничего не знают о внешних, что позволяет легко менять технологии без поломки основной логики.