Laravel 애플리케이션이 성장하면서 기본적인 "비대한 컨트롤러 / 비대한 모델" 접근법은 유지보수하기 어려워집니다. 대규모 앱은 비즈니스 로직을 체계적이고 테스트 가능하며 유지보수 가능하게 유지하기 위해 추가적인 아키텍처 계층 — 서비스 클래스, 액션 클래스, 리포지토리, 폼 요청, 명확한 도메인 구성 — 의 혜택을 받습니다.
문제: 로직이 잘못된 곳에 끝남
작은 앱: 컨트롤러와 모델의 로직은 괜찮음.
큰 앱: 컨트롤러가 비대해지고, 모델이 "갓 객체"가 되며, 로직이 중복됨
→ 테스트, 유지보수, 추론하기 어려움. 로직을 전용 계층으로 추출.
서비스 클래스 — 비즈니스 로직 캡슐화
{
{}
{
DB::(function () ($, $) { /* ... */ });
}
}
{
->(->(), ->());
}
