Есть ли какая-либо связь между
FlyingSaucer -> Rotator -> Cube, я думаю, что это типичный пример сдерживания.
FlyingSaucer содержит ротатор и ротатор содержит куб.
, поэтому в этом случае вы можете рассмотреть возможность использования Composition путем создания свойств Rotator и Cube в FlyingSaucer.
Вы можете внедрить эти зависимости при создании объекта FlyingSaucer.Это удалит очень глубокое вложение в ваших классах, и я думаю, вам, вероятно, потребуется доступ к объектам FlyingSaucer, Rotator, Cube из вашего мастер-класса.
, так что используйте Composition здесь, это действительно сделает вашу иерархию классов проще и проще для расширения и поддержки.