Я работаю над игрой с компонентной архитектурой. Объект Entityвладеет набором Componentэкземпляров, каждый из которых имеет набор Slotэкземпляров, с помощью которых можно хранить, отправлять и получать значения. Заводские функции, такие как Playerсоздание объектов с необходимыми компонентами и соединениями слотов.
Я пытаюсь определить лучший уровень детализации для компонентов. Например, прямо сейчас Position, Velocityи Accelerationвсе это отдельные компоненты, соединенные последовательно. Velocityи Accelerationможет быть легко переписан в единый Deltaкомпонент, или Position, Velocityи Accelerationможет быть объединен вместе с такими компонентами, как Frictionи Gravityв монолитный Physicsкомпонент.
Должен ли компонент иметь наименьшую возможную ответственность (за счет большого количества соединений) или же связанные компоненты должны быть объединены в монолитные (за счет гибкости)? Я склоняюсь к первому, но я мог бы использовать второе мнение.