Man mano che un'applicazione Laravel cresce, l'approccio predefinito "fat controller / fat model" diventa difficile da mantenere. Le app più grandi traggono vantaggio da strati architetturali aggiuntivi — classi di servizio, classi action, repository, form request e una chiara organizzazione del dominio — per mantenere la logica di business organizzata, testabile e manutenibile.
Il problema: la logica finisce nei posti sbagliati
Small apps: logic in controllers and models is fine.
Large apps: controllers get bloated, models become "god objects", logic is duplicated
→ hard to test, maintain, and reason about. Extract logic into dedicated layers.
