У меня есть компоненты торгового робота. Это следует архитектуре:
- Уровень данных - потоковая передача и форматирование данных
- Слой модели - обновляет модель и записывает события в очередь событий
- Уровень интеллекта - извлечение события, классификация (покупка, продажа, ноль), фильтрация, построение ордера (инструмент, покупка / продажа, остановка), запись в очередь на заказ
- Слой заказа - извлечение события, выбор размера (или отклонение), размещение заказа, запись в БД
Мой вопрос:
- Каков наилучший шаблон проектирования для координации всех компонентов, участвующих в каждом слое?
Для (упрощенного) примера, я не думаю, что следующая практика будет хорошей практикой:
- Модель M создает экземпляр источника данных D
- M создает экземпляр Intelligence I
- I создает экземпляр Order O
Суть вышесказанного в том, что все создает все остальное, поэтому ничто не работает независимо (таким образом снижается избыточность).
Но я также не чувствую, что один класс, который создает все экземпляры и управляет взаимодействиями, является хорошей практикой.
Кто-нибудь может посоветовать?