Design patterns·The shape of the whole application
one change touched one folder, instead of the same change touching the controllers, services and repositories folders.
Package by feature
Also calledpackage by layer, vertical slice, feature folders
Grouping code by the capability it serves rather than by its technical role, so a feature's handler, model and storage live together. It aligns the physical structure with the direction changes actually arrive from, and it makes package-private visibility useful again because a feature can hide its internals. Packaging by layer optimises for the rarer case — swapping an entire technical layer at once.