【发布时间】:2013-09-05 03:50:33
【问题描述】:
我对 Java 比较陌生,并且在为我正在处理的程序提出真正面向对象的设计时遇到了麻烦。这是该计划的背景。该程序是一个基于 gui 的计算机电话应用程序,它监控电话并充当 callerID(除其他外)。我目前的设计如下。我创建了以下类。
MainWindow-这是gui的主窗口
电话——这模拟了实际的设备
PopUpWindow——这个模型是在Phone类中的一个事件上弹出的弹出窗口
PhoneMessenger - 当电话类中发生事件时,它会向另一台设备发送消息
我遇到的问题是,当 Phone 类中发生事件时,我希望它更新 MainWindow 类中的值。我通过在 MainWindow 类中构造一个静态类变量 MainWindow window 并使用静态方法根据 Phone 类中的事件更改 MainWindow 类的值来使程序工作。它工作得很好,但我认为这不符合面向对象的设计原则,因为 Phone 类现在可以访问 MainWindow 类的所有内部值。如果有人可以帮助我设计这将是惊人的。
【问题讨论】:
-
你在使用 Swing 吗?如果是,我有答案
-
模型视图控制器,我的朋友。