Service layer for business logic – Organizing code in a Rails monolith
aha.ioRails is great and so are monoliths. Read about one of the methods we use to build our Rails monolith at Aha! while ensuring it does not grow out of control.
Java Spring apps are sometimes (or even often) organized like this. The downside is that you jump around all over the place when making small changes. Also very visible when deleting features. Maybe a good test of the file structure is how easy it is to delete features without jumping around in 10 different places.
I can see that happening. But those changes are probably going to be relatively small and easy to understand. I dislike looking at pull requests where it's just a wall of red/green in a single file. It makes it almost impossible to figure out what the person has done.
I wonder how many other frameworks often see this type of organization?