【问题标题】:Are circular dependencies considered bad design?循环依赖是否被认为是糟糕的设计?
【发布时间】:2012-02-28 17:13:47
【问题描述】:

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

这被认为是糟糕的设计吗?如果你愿意,一个反模式?

【问题讨论】:

标签: oop circular-dependency


【解决方案1】:

这是我的看法:

  • 如果这两个类属于同一个逻辑模块,那么可能没问题(当然仍然是一个判断调用,有很多灰色区域)。
  • 如果这两个类属于不同的模块,那就没那么好了。这会在模块之间创建循环依赖。我尽量避免这种情况,更喜欢清晰的层次结构。

【讨论】:

    【解决方案2】:

    是的,这是糟糕的设计,它与 oop 原则相矛盾,似乎你必须创建一个新的类或接口,其中包含 a 和 b 的共享参数和函数,a 和 b 导入这个新类...

    【讨论】:

      猜你喜欢
      • 2017-06-11
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2015-08-28
      相关资源
      最近更新 更多