Циркулярная зависимость в C ++

Факты:

У меня есть два преобладающих класса: менеджер и специалист.Есть несколько разных типов специалистов.Специалистам часто требуется помощь других специалистов, чтобы выполнить свою работу.Менеджер знает всех специалистов, и изначально каждый специалист знает только своего менеджера. (Это проблема.)Во время выполнения менеджер создает и сохраняет список специалистов. Затем менеджер просматривает список и просит каждого специалиста выполнить инициализацию. Во время инициализации каждый специалист просит менеджера предоставить им других специалистов, которые соответствуют некоторому описанию. Как только это будет выполнено, Менеджер перейдет в цикл, в течение которого Специалистов последовательно просят выполнить свою специализированную задачу.

Мне кажется, что это достойный образец, но поскольку у менеджера есть список специалистов, а у специалиста есть менеджер, у меня возникают проблемы с циклической зависимостью.

Это тот случай, когда я должен как-то заранее объявить о существовании одного класса из другого? (Если да, то как?) Или я должен использовать какой-то шаблон проектирования для решения этой проблемы? (Если так, что?) Также ... Я думал, что сам образец был довольно хорошо. поэтому я не против, чтобы кто-то помог мне понять, почему это плохо.

Ответы на вопрос(5)

Ваш ответ на вопрос