事实:
- 我有两个主要的类别:Manager和Specialist。
- 有几种不同类型的Specialist。
- Specialist经常需要其他Specialist的帮助来完成工作。
- Manager知道所有的Specialist,而每个Specialist最初只知道他们的Manager。(这是问题所在。)
- 在运行时,Manager创建并存储Specialist列表。然后Manager遍历列表并要求每个Specialist进行初始化。在它们的初始化期间,每个Specialist要求Manager提供满足某些描述的其他Specialist。完成此操作后,Manager进入循环,在此期间按顺序要求Specialists执行其专门任务。
对我来说,这似乎是一个不错的模式,但由于Manager具有Specialist列表,而Specialist具有Manager,我遇到了循环依赖问题。
这是一种应该如何从另一个类中声明存在的情况吗?(如果是这样,怎么做?)还是应该使用一些设计模式来解决这个问题?(如果是这样,应该用什么?)另外......我认为这个模式本身还可以,所以我不介意有人帮我理解为什么这是个坏事。