Какую архитектуру следует использовать с модульными монолитами?
Вот 3 варианта на выбор:
- Чистая архитектура
- Многослойная архитектура
- Вертикальная архитектура
Конечно, вы можете использовать любые другие варианты.
Я привожу лишь несколько примеров для начала.
Но я хочу сказать, что модульные монолиты очень гибкие.
Допустим, в вашем приложении есть 3 модуля.
Вы можете решить структурировать каждый модуль по-разному.
Один модуль - это простое CRUD-приложение. Мне не выгодно использовать чистую архитектуру для этого модуля. Я могу использовать простую многоуровневую архитектуру с двумя слоями.
Другой модуль содержит сложную бизнес-логику. Я уже использовал DDD для решения подобных проблем. Чистая архитектура и DDD хорошо сочетаются. Именно это я и выбрал для этого модуля.
Я не говорю, что нужно использовать все известные вам программные архитектуры.
Но также не стоит быть догматиком и использовать одну и ту же архитектуру для всех модулей.
Вы должны подходить к каждому модулю в модульном монолите как к отдельному приложению. В целом, модули должны быть автономными и изолированными.
Используйте лучшее решение для той проблемы, которую вы решаете в данный момент.
И будьте готовы использовать новый подход, если он дает преимущества.
? @bookflow