在我的工作中(这是90%的Java,但是我确定这个问题也适用于其他语言),我经常创建两个彼此“了解”的类。更具体地说,A类导入B,B类导入A类,并且都具有其他类型的成员或局部变量。

这被认为是不良设计吗?如果愿意,可以使用反模式吗?

最佳答案

这是我的看法:


如果这两个类属于同一个逻辑模块,则可能很好(当然仍然是一个判断调用,带有许多灰色区域)。
如果这两个类属于不同的模块,那就不太好了。这在模块之间创建了循环依赖关系。我尽量避免这种情况,而是希望使用清晰的层次结构。

07-24 16:34