Добрый вечер. Поделитесь, пожалуйста, у кого какая ситуация с архитектурой в рельсовом проекте? Rails way? Rails way, но с папочками app/services, app/decorators и тп? DDD? Clean Architecture? Hexagonal architecture? Что-то иное?
Просто во всех рельсовых проектах, в которых я работал, не были ничего и близко к тому, о чем пишут в книгах по DDD или говорят на конфах по архитектурам. И это были большие проекты, которые пилились много лет многими командами.
В текущем проекте (относительно новом) хочется сразу делать норм архитектуру, чтобы легко вносить изменения и тп, потому что, как показывает опыт, потом уже будет очень сложно что-то изменить, не будет времени и тд.
P.S. Микросервисы не предлагать 😄
В последнем проекте растаскатал всё по модулям, которые объединены в контексты. В моделях в основном только конфигурация - связи, енумы и т п, вся логика вынесена в сервисные объекты соответствующих модулей (папочки типа listeners, presenters, policies, workers и др) лежат в папке соответствующего модуля. Даже значения enum повыносил в отдельные объекты references. Практически везде single responsibility что позволяет максимально переиспользовать функциональность, ну и тестами легко покрывать. В целом доволен, легко ориентироваться и менять функциональность отдельных модулей