А куда в таком случае помещать драйвера, к кому его привязать? Драйвер должен получать некоторые данные (например, массу) от Car. В моей реализации Car его и инициализирует, поэтому хранит у себя. Либо создать общий массив (что мне не нравится) куда Car'ы сами будут помещать драйвера. Либо фабрику, создающую эти машины и хранящую все драйверы у себя в таком же массиве. Тут же всплывает проблема с удалением машин, придется обходить массив драйверов.
На кольцевую зависимость движок не жалуется (судя по всему, пока не жалуется), а решения более адекватные в голову не приходят, из-за чего так и хочется пренебречь этим принципом проектирования.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.