Реализация модуля (DDD, 4xLayers, CQRS-lite)

modules/Auto                            # корень модуля Auto
├── Application/                        # прикладной слой use case логики
│   ├── Command/                        # сценарии изменения состояния
│   │   └── CreateAuto/                 # сценарий создания Auto
│   │       ├── CreateAutoCommand.php   # входная команда create use case (DTO)
│   │       └── CreateAutoHandler.php   # обработчик команды создания
│   └── Query/                          # сценарии чтения данных
│       ├── GetAuto/                    # сценарий чтения Auto
│       │   ├── GetAutoQuery.php        # DTO чтения Auto
│       │   └── GetAutoHandler.php      # обработчик чтения одной записи
├── Contracts/                          # директория контрактов модуля
│   ├── Ports/                          # порты для реализации в других модулях
│   │   └── AutoPort.php                # контракт для реализации в ACL другого модуля
│   └── Public/                         # публичные контракты модуля наружу
│       └── AutoReader.php              # публичный контракт модуля
├── Domain/                             # предметная модель без инфраструктуры
│   ├── Entity/                         # доменные сущности
│   │   └── Auto.php                    # доменная сущность Auto
│   ├── Enum/                           # доменные перечисления
│   ├── Repository/                     # доменные контракты репозиториев
│   │   └── AutoRepository.php          # контракт записи Auto
│   └── ValueObject/                    # доменные value objects
├── Infrastructure/                     # технические реализации модуля
│   ├── ACL/                            # интеграция с внешними контекстами
│   └── Persistence/                    # хранение и доступ к данным
│       ├── Mapper/                     # маппинг entity <-> model
│       │   └── AutoMapper.php          # преобразование Auto между слоями
│       ├── Migrations/                 # миграции таблиц модуля
│       │   └── 0000_00_00_000000_create_autos_table.php # создание таблицы autos
│       ├── Models/                     # Eloquent-модели
│       │   └── Auto.php                # Eloquent-модель Auto
│       ├── EloquentAutoRepository.php  # реализация доменного AutoRepository
│       └── EloquentAutoReader.php      # реализация Contracts/Public/AutoReader.php
├── Presentation/                       # точки входа в модуль
│   ├── Http/                           # HTTP модуля (endpoints)
│   │   ├── CreateAutoAction.php        # HTTP action для POST /api/autos
│   │   └── routes.php                  # маршруты модуля
│   └── Console/                        # консольные entrypoints модуля
├── Providers/                          # service provider модуля
│   └── AutoServiceProvider.php         # биндинги и подключение миграций
└── Tests/                              # тесты модуля
    └── Feature/                        # feature/API тесты
        └── AutoApiTest.php             # проверка через HTTP API

 ВНЕШНИЙ МИР (UI, Сеть)
┌─────────────────────────────────────────────────────────────┐
│ PRESENTATION (Контроллеры, Консоль)                         │
└──────────────┬───────────────────────────────┬──────────────┘
               │ (Вызывает Command)            │ (Вызывает Query)
               ▼                               ▼
┌─────────────────────────────────────────────────────────────┐
│ APPLICATION (Use Cases / Сценарии)                          │
│                                                             │
│  [Поток Команд / Запись]         [Поток Запросов / Чтение]  │
│  - Handlers                      - Handlers                 │
│  - Интерфейсы Репозиториев (DIP) - Интерфейсы Выборок (DIP) │
└──────────────┬───────────────────────────────┼──────────────┘
               │ (Управляет)                   │
               ▼                               │ (В обход Домена)
┌──────────────────────────────┐               │
│ DOMAIN (Сердце системы)      │               │
│ - Entities & Aggregates      │               │
│ - Value Objects              │               │
└──────────────▲───────────────┘               │
               │                               │
               │ (Реализует интерфейсы через DIP)
┌──────────────┴───────────────────────────────▼──────────────┐
│ INFRASTRUCTURE (Инструменты и реализации)                   │
│ - Реализация репозиториев (PostgreSQL, ORM)                 │
│ - Прямые SQL-запросы для чтений (Dapper, сырой SQL)         │
└─────────────────────────────────────────────────────────────┘