1

我的程序中有几个类,但现在我们只需要担心其中两个:GUI 和逻辑。

GUI 类委托给 Logics 类:

Logics logics = new Logics();

这是因为我希望 GUI 类调用我在 Logics 类中的方法。

但现在我还希望从 Logics 类中调用 GUI 中的方法。具体来说,我希望逻辑能够在满足某些特定条件(在逻辑类中检查)时使 GUI 类(JDialog)中的弹出框可见。

我该怎么做呢?我不能从逻辑委托给 GUI,因为那样我会得到一个溢出(来回委托到无穷大)。

有人有什么建议吗?:)

-谢谢

4

2 回答 2

2

也许可以为逻辑类提供显示对话框的服务。GUI 类可以实现一个名为 DialogService(或其他)的接口,该接口定义了显示对话框的方法。然后你可以打电话:

Logics logics = new Logics(this); 

不需要 Logics 类直接访问 GUI 类。

于 2012-10-15T14:08:00.580 回答
0

设计两个类的对象图:逻辑和 GUI。

然后你需要弄清楚你希望对象如何通过什么接口与每个对象交互。对象之间的关系是什么。在上下文对象组合中查看聚合组合。

于 2012-10-15T14:10:38.053 回答