Laravelアプリケーションが成長するにつれて、デフォルトの「太いコントローラー/太いモデル」アプローチは保守が難しくなります。大規模なアプリケーションは追加のアーキテクチャレイヤー — サービスクラス、アクションクラス、リポジトリ、フォームリクエスト、明確なドメイン組織 — から恩恵を受け、ビジネスロジックを整理でき、テスト可能で保守しやすくなります。
問題:ロジックが間違った場所に端に落ちる
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.
サービスクラス — ビジネスロジックをカプセル化
{
{}
{
DB::(function () ($, $) { /* ... */ });
}
}
{
->(->(), ->());
}
