Штука, которую ты замыслил, называется DI (внедрение зависимостей).
В данном конкретном случае, два объекта из трех будут доработаны напильником после конструирования.
Подумай ещё раз, нужны ли тебе циклические ссылки. Обычно они не нужны. Здесь, например, ссылки между артистом и песней выглядят бредово. Песня сама по себе, артист сам по себе. Фильм на них ссылается весьма органично - у него конкретная песня и конкретный артист (хотя артистов может быть несколько на главной роли, но это ладно). В то же время песня может быть в более чем одном фильме, и артист со своей главной ролью тоже - соответственно у них логичнее сделать не ссылку на фильм, а массив фильмов.
Но это так, лирика. А в целом, DI через конструктор - никаких циклических ссылок.
|