Чтобы мой текущий код функционировал, два моих объекта должны иметь ссылку друг на друга.
app = App()
controller = Controller(app)
controller.add_player(Human(data))
app.add_controller(controller)
Меня больше всего беспокоит циклическая природа ссылок. Контроллер и приложение должны иметь возможность запрашивать информацию друг у друга (и, аналогично, человек должен иметь возможность запрашивать информацию у контроллера, ответственного за него)
Соответствует ли мое текущее решение хорошие практики OOP? Если нет, (что я подозреваю), как еще я мог бы достичь подобного объектно-объектного взаимодействия?