5.3 KiB
Build 017.6 — Trading Service
Engineering Build Document
Контроль документа
| Свойство | Значение |
|---|---|
| Build | 017.6 |
| Название | Trading Service |
| Статус | Accepted |
| Подсистема | Trading |
| Layer | Trading |
| Тип | Architecture + Implementation |
| Версия | 1.0 |
| Язык | Русский |
Цель Build
Создать единую публичную точку входа Trading Layer.
Причина появления Build
После реализации компонентов:
TradingProtocol;TradingValidation;TradingRules;
Trading Layer получил все необходимые внутренние элементы, однако отсутствовал компонент, объединяющий их в единый рабочий процесс.
Эту роль выполняет TradingService.
Architecture
Создан компонент:
TradingService
Он реализует официальный контракт:
TradingProtocol
и обеспечивает последовательность выполнения:
CoordinatorResult
│
▼
TradingValidation
│
▼
TradingRules
│
▼
TradingDecision
Architecture Review
Подтверждено:
- Service является единственной публичной точкой входа Trading Layer;
- Service принимает только
CoordinatorResult; - Service возвращает только
TradingDecision; - Service реализует
TradingProtocol; - Service делегирует проверку
TradingValidation; - Service делегирует формирование решения
TradingRules; - Service не содержит собственной торговой логики;
- Service не зависит от внутренних компонентов Runtime или Coordinator.
Статус: ✅ Passed
ADR
Принято решение объединить внутренние компоненты Trading Layer через единый сервис.
TradingService становится единственной точкой взаимодействия внешних слоёв с Trading Layer.
Все внутренние компоненты Trading инкапсулируются внутри Service.
Статус: Accepted
Implementation
Создан файл:
app/src/trading/market_intelligence/trading/service.py
Реализован класс:
TradingService
Публичный метод:
decide(
coordinator_result: CoordinatorResult,
) -> TradingDecision
Внутренние зависимости:
TradingValidation
TradingRules
Последовательность работы:
Validation
↓
Rules
↓
TradingDecision
Compile Check
python -m compileall src/trading/market_intelligence
Результат:
Passed
Domain Review
Подтверждено:
- компонент является публичной точкой входа Trading Layer;
- принимает только
CoordinatorResult; - возвращает только
TradingDecision; - не содержит торговых правил;
- не изменяет
CoordinatorResult; - не обращается к Runtime / Coordinator internals;
- не работает с биржей;
- не исполняет сделки.
Статус: ✅ Passed
Code Review
Проверка пройдена.
Подтверждено:
TradingServiceреализуетTradingProtocol;- публичный метод только один;
- Validation и Rules не дублируются;
- отсутствуют лишние зависимости;
- отсутствует торговая логика.
Замечаний нет.
Статус: ✅ Passed
Acceptance
Build завершён.
Выполнены:
- ✅ Development Strategy
- ✅ Architecture Design
- ✅ Architecture Review
- ✅ ADR
- ✅ Build Design
- ✅ Implementation
- ✅ Compile Check
- ✅ Domain Review
- ✅ Code Review
- ✅ Documentation
Статус Build:
Accepted
Итог Build
Build 017.6 завершает построение Trading Foundation.
Trading Layer полностью сформирован и включает:
Trading
├── models
├── protocol
├── exceptions
├── validation
├── rules
└── service
Теперь Trading Layer обладает:
- единым публичным API;
- собственными моделями;
- собственным пространством исключений;
- механизмом предварительной проверки входных данных;
- базовыми правилами формирования торгового решения;
- сервисом-оркестратором.
Архитектурный фундамент Trading завершён.
Следующий Build
Build 018
Execution Layer Architecture