循环依赖:为什么这些类是不可耦合的

时间:2013-10-30 15:26:08

标签: oop cyclic-reference

我有一个类Thing,它有许多变量。我还有一个类FileHandler,它将数据记录到日志文件中。

FileHandler特定于Thing的实例化,需要打印Thing的几个实例变量。因此,Thing已导入FileHandler

还有另一个班级OtherThing,它还需要Filehadler。很遗憾,Thing导致OtherThing出于ThingOtherThing的特性而导入FileHandler。这意味着Thing导入ThingOtherThing导入FileHandler,导入{{1}}。

我似乎无法将这些分开。我将根据评论添加更多内容。有一个明显的原因,我不能在这里分开我的课程吗?这似乎是因为有三个类需要共同的数据。

1 个答案:

答案 0 :(得分:1)

遵循这个措辞......

“计算机科学中的所有问题都可以通过另一层次的间接解决......除了间接层太多的问题。” [大卫惠勒]

...我建议添加一个界面。在不知道确切代码的情况下,很难做出决定。也许您尝试引入IThing或IFileHandler。