Реализация системы оплаты заказов с использованием многослойной архитектуры и принципов DDD-lite (Domain-Driven Design). Проект демонстрирует разделение ответственности между слоями и инкапсуляцию бизнес-логики в доменном слое.
Расположение: src/domain/
order.py- сущность Order (агрегат)value_objects.py- Value Objects: Money, OrderLineexceptions.py- доменные исключения
Расположение: src/application/
use_cases.py- Use Cases: PayOrderUseCase, GetOrderSummaryUseCase
Расположение: src/interfaces/
repositories.py- OrderRepository (интерфейс)payment_gateways.py- PaymentGateway (интерфейс)
Расположение: src/infrastructure/
repositories.py- InMemoryOrderRepository (реализация)payment_gateways.py- FakePaymentGateway (реализация)
Расположение: tests/
test_pay_order_use_case.py- тесты всех сценариев