Помогите придумать или найти название для архитектуры проекта (ECS, C#)

Я разработчик на Unity и для одной коммерческой компании я разработал решение для создания сценариев через граф и последующего их воспроизведения

Помогите придумать или найти название для архитектуры проекта (ECS, C#)

При создании этого инструмента, я вдохновлялся архитектурой ECS и придумал достаточно странную архитектуру, для которой хочу придумать название или найти аналоги у других

Архитектура

У некоторых нод (Node) есть список компонентов (components), в котором хранятся не сами компоненты, а их интерфейсы, что позволяет обойти ограничение ECS на компоненты одного типа в сущности

Да, я не умею рисовать схемы (да и она тут неполная)
Да, я не умею рисовать схемы (да и она тут неполная)

При проигрывании сценария, нода при активации, передаёт свой массив компонентов в шину данных (SignalBus от Zenject). Системы (systems) через шину принимают компоненты и исполняют их

То есть сама идея разделения данных и их исполнения взята из ECS, но при этом тут отсутствуют сущности (entity) и вместо них для компоновки компонентов используются ноды

Я думаю, что это плохой ECS, так как эта архитектура не подразумевает Data Oriented дизайна и хранит компоненты крайне не эффективно, но сама идея систем, которые исполняют компоненты, тут сохранена

Я нашёл похожий по названию подход CGS на Rust, но тут скорее речь идёт про модификацию оригинального подхода ECS с превращением сущностей в компоненты со указателями на компоненты

И также стоит учитывать тут шину данных, так как она работает в обе стороны. То есть системы сами могут посылать данные нодам (да, ноды имеют поведение при активации)

Как вообще такое можно охарактеризовать? Я думал про что-то вроде Node Component System, но тут проблема в том, что ноды имеют своё поведение и тут правильнее сказать про использование нескольких архитектурных шаблонов

Часть с нодами и графам понятна, это просто ориентированный исполняемый граф с нодами как единицами исполнения. Но как назвать этот огрызок ECS, который работает через шину данных и связывает ноды, компоненты и системы?

1
5 комментариев