home.social

#onion_architecture — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #onion_architecture, aggregated by home.social.

fetched live
  1. Луковичная архитектура: канон и где от него осознанно отступать

    Луковичную (onion) архитектуру обычно продают аргументом «легко поменять БД или фреймворк». Только базу в проде меняют раз в пятилетку, а чаще вообще не меняют — ради этого городить слои не выгодно. Реальная ценность в другом, и она ежедневная: глядя на правку, ты заранее видишь её радиус. Поменял формат ответа одной ручки — изменение осталось в одном handler'е, соседние ручки и cron не задеты. Тронул бизнес-правило в сервисе — и сразу понятно, что эффект расходится на всё, что выше. Понадобилось параллельно писать ещё в одно хранилище — горячий кэш, поисковый индекс, аналитическую базу рядом с основной — это добавляется в одном репозитории, и весь код, который через него пишет, начинает писать в оба места разом. Ничего не переписываешь и, главное, негде забыть: точка подключения одна, а не разбросана по всем местам, где идёт запись.

    habr.com/ru/articles/1051970/

    #чистая_архитектура #onion_architecture #луковичная_архитектура #гексагональная_архитектура #DDD #инверсия_зависимостей #dependency_injection #рефакторинг #проектирование #кодовые_агенты

  2. Модульная архитектура против хаоса: как ограничить контексты в большом монолите

    При большом масштабе компании требования к стабильности и скорости разработки становятся критичными. Долгое время бэкенд платформы Flowwow оставался монолитным, и в какой-то момент это начало серьезно тормозить развитие продукта. В этой статье я расскажу, как мы пришли к модернизации, как поменяли архитектуру и что получилось в итоге.

    habr.com/ru/companies/flowwow/

    #архитектура #модульный_монолит #рефакторинг #onion_architecture #yii #контексты #микросервисы #статический_анализатор_кода #управление_зависимостями #процессы_разработки

  3. [Перевод] Оверинжиниринг в луковичной и гексагональной архитектурах

    Команда Spring АйО перевела статью, которая рассказывает о том, как луковичная и гексагональная архитектура часто используется программистами в неоправданно сложном варианте, взятом из учебника, и как эти архитектурные стили можно упростить, получив от этого существенные преимущества в плане затрат на разработку и поддержку.

    habr.com/ru/companies/spring_a

    #overengineering #onion_architecture #hexagonal_architecture #clean_architecture #interface #strict_layers #code_smell #rest_api #mock #dto

  4. Как эксперимент помог распутать спагетти-код: применяем DDD-Lite на микросервисах

    Ситуация, знакомая многим: разрабатываем сервис, пилим в нём фичи, развиваем продукт… но постепенно всё выходит из под контроля. Кодовая база разрастается, зависимости становятся сложнее. Команда разработчиков тратит больше времени на распутывание существующих проблем, чем на создание новой функциональности. Хорошая новость: распутать спагетти-код можно по-разному, и иногда срабатывают не самые очевидные способы. В нашем случае помогла комбинация действий: не просто выделение части кода в отдельные микросервисы, но и параллельная реализация архитектурного подхода DDD Lite (в связке с принципами чистой архитектуры). О том, как в рамках кейса мы избавились от спагетти-зависимостей, поделили сервис на чёткие слои, упростили поддержку и масштабирование кода, — рассказываем под катом. Плюс делимся рекомендациями: кому и при каких сценариях связка «DDD Lite + микросервисы» может пригодиться.

    habr.com/ru/companies/sravni/a

    #nestjs #DDDlite #domain_driven_design #луковая_архитектура #typescript #onion_architecture #проектирование_архитектуры #микросервисы

Share on Mastodon

Enter the server where you have an account.