Seiring pertumbuhan aplikasi Laravel, pendekatan default "fat controller / fat model" menjadi sulit untuk dipertahankan. Aplikasi yang lebih besar mendapat manfaat dari lapisan arsitektur tambahan — service classes, action classes, repositories, form requests, dan organisasi domain yang jelas — untuk menjaga business logic tetap terorganisir, dapat diuji, dan mudah dipelihara.
Masalahnya: logic berakhir di tempat yang salah
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.
