【发布时间】:2016-12-22 16:37:35
【问题描述】:
下面提到的有4个类-
- A 类有 2 个方法 f1() 和 f2()。
- B 类具有方法 f3()。
- 具有方法 f4() 的 C 类。
- D 类具有方法 f5()。
关于上面的类,以下是正确的 -
- f1() 调用 f3()。
- f3() 调用 f4()。
- f4() 调用 f5()。
- f5() 调用 f2()。
这是一个糟糕的设计吗?如果是,如何改进这种设计??
【问题讨论】:
-
这取决于你的类代表什么以及方法在做什么。在一个好的设计中,每个类只知道它需要的类。在其他情况下,使用侦听器和事件。
-
这些是 mvc 模式中的普通服务类。我的疑问是,当 A 类间接依赖 D 类时,为什么 A 类有 D 类需要的代码?
-
为什么不返回一个值并根据返回调用函数:f1 调用 f3 并等待取决于其他调用 (f3->f4->f5) 的响应,然后 f1 调用 f5 ,他们都在同一个班级
-
一些关于循环依赖的参考:stackoverflow.com/questions/37444940/…
标签: java design-patterns