2个类互相参考这个好吗?

时间:2009-03-16 11:55:52

标签: java class

如果我有一个类gui和一个逻辑类,是否在gui中引用​​了逻辑和逻辑,以便gui非常糟糕?

4 个答案:

答案 0 :(得分:11)

作为一般规则,让“逻辑”课程了解“gui”课程是不好的。分离背后的想法是模型/视图设计模式(或模型/视图/控制器)。该视图需要引用该模型。仔细查看模型为什么需要引用视图。通常当模型需要向视图发送信息时,会使用侦听器(请参阅javax.swing表和列表模型的示例)。

答案 1 :(得分:5)

应该避免。 在GUI中,您可以引用域逻辑,但不应该在域逻辑中引用GUI。

为什么? 因为否则,你没有分裂GUI和域逻辑在单独的文件中。当您的逻辑依赖于GUI时,您就无法将逻辑与其他GUI一起使用。

所以,你应该尽量避免从你的逻辑到你的gui的这种依赖,或者你应该对它进行抽象。

我希望我在这里清楚明白。 :)

答案 2 :(得分:0)

如果你可以避免它,你可能应该。否则,您可能会在以后遇到很多循环依赖的问题。

他们是否真的必须了解对方,或者您是否有第三个“控制”概念参考这两个概念?

答案 3 :(得分:0)

GUI可能需要向逻辑类公开某种接口,以便在逻辑类改变时更新GUI。

逻辑不应该直接了解GUI实现,只知道它的接口。

有时会使用Observer Pattern