Допустим, у меня есть три класса: EntityManager, Entity и Component.
Entity имеет массив компонентов (указателей), и каждый из этих компонентов имеет поле, которое является указателем на инкапсулирующую Entity.
EntityManager имеет массив объектов, и каждый объект имеет указатель на инкапсулирующий его EntityManager.
Причиной такого дизайна является зависимость от данных. Компонентам требуется доступ к полям инкапсулирующего объекта, а некоторые компоненты зависят от полей другого объекта (указатель на диспетчер объектов).
Является ли этот «циклический» дизайн плохой практикой? Должен ли я переосмыслить свой дизайн?