3 Bounded Contexts (Sales, Invoicing, LegacyFulfillment) avec : - Domaines complets (agrégats, VOs, événements, invariants) - Couche application (commands, queries, ports) - Infrastructure in-memory (repos, gateway fake) - Controllers HTTP Symfony - Couplage naïf synchrone entre BC via NaiveSalesEventPublisher - 20 tests unitaires et d'intégration passants
63 lines
2.3 KiB
YAML
63 lines
2.3 KiB
YAML
services:
|
|
_defaults:
|
|
autowire: true
|
|
autoconfigure: true
|
|
|
|
# --- Shared ---
|
|
MiniShop\Shared\:
|
|
resource: '%kernel.project_dir%/src/Shared/'
|
|
|
|
MiniShop\Shared\Technical\Clock:
|
|
alias: MiniShop\Shared\Technical\SystemClock
|
|
|
|
# --- Sales ---
|
|
MiniShop\Sales\Application\:
|
|
resource: '%kernel.project_dir%/src/Sales/Application/'
|
|
|
|
MiniShop\Sales\Infrastructure\:
|
|
resource: '%kernel.project_dir%/src/Sales/Infrastructure/'
|
|
|
|
MiniShop\Sales\Interfaces\:
|
|
resource: '%kernel.project_dir%/src/Sales/Interfaces/'
|
|
tags: ['controller.service_arguments']
|
|
|
|
MiniShop\Sales\Application\Port\OrderRepository:
|
|
alias: MiniShop\Sales\Infrastructure\Persistence\InMemoryOrderRepository
|
|
|
|
MiniShop\Sales\Application\Port\SalesEventPublisher:
|
|
alias: MiniShop\Sales\Infrastructure\Messaging\NaiveSalesEventPublisher
|
|
|
|
# --- Invoicing ---
|
|
MiniShop\Invoicing\Application\:
|
|
resource: '%kernel.project_dir%/src/Invoicing/Application/'
|
|
|
|
MiniShop\Invoicing\Infrastructure\:
|
|
resource: '%kernel.project_dir%/src/Invoicing/Infrastructure/'
|
|
|
|
MiniShop\Invoicing\Interfaces\:
|
|
resource: '%kernel.project_dir%/src/Invoicing/Interfaces/'
|
|
tags: ['controller.service_arguments']
|
|
|
|
MiniShop\Invoicing\Application\Port\InvoiceRepository:
|
|
alias: MiniShop\Invoicing\Infrastructure\Persistence\InMemoryInvoiceRepository
|
|
|
|
MiniShop\Invoicing\Application\Port\InvoiceNumberGenerator:
|
|
alias: MiniShop\Invoicing\Infrastructure\SequentialInvoiceNumberGenerator
|
|
|
|
# --- LegacyFulfillment ---
|
|
MiniShop\LegacyFulfillment\Application\:
|
|
resource: '%kernel.project_dir%/src/LegacyFulfillment/Application/'
|
|
|
|
MiniShop\LegacyFulfillment\Infrastructure\:
|
|
resource: '%kernel.project_dir%/src/LegacyFulfillment/Infrastructure/'
|
|
|
|
MiniShop\LegacyFulfillment\Interfaces\:
|
|
resource: '%kernel.project_dir%/src/LegacyFulfillment/Interfaces/'
|
|
tags: ['controller.service_arguments']
|
|
|
|
MiniShop\LegacyFulfillment\Application\Port\ShipmentRequestRepository:
|
|
alias: MiniShop\LegacyFulfillment\Infrastructure\Persistence\InMemoryShipmentRequestRepository
|
|
|
|
MiniShop\LegacyFulfillment\Application\Port\LegacyFulfillmentGateway:
|
|
alias: MiniShop\LegacyFulfillment\Infrastructure\Gateway\FakeLegacyFulfillmentGateway
|