Что такое clean architecture?

Middle+
1.3k просмотров
AFK Offer AI

Clean Architecture — подход к организации кода, где бизнес-логика в центре и не зависит от фреймворков, БД или HTTP. Слои: domain (сущности) → usecase (бизнес-логика) → delivery (HTTP/gRPC) и repository (БД).

delivery/grpc  →  usecase  ←  repository/postgres
                    ↓
                  domain

Зависимости направлены внутрь: usecase знает о domain, но не знает про PostgreSQL или gRPC. Связь через интерфейсы: usecase определяет интерфейс Repository, а postgres его реализует.

Плюсы: легко менять БД, транспорт, тестировать бизнес-логику изолированно. Минусы: больше файлов и бойлерплейта. Для микросервисов на Go — один из самых популярных подходов.

Следующий вопрос

Чем контейнер отличается от виртуалки?