java - MVC,减少Gui和核心包之间的耦合

标签 java swing model-view-controller coupling

我的程序使用 MVC 模式,具有由多个类组成的 gui 和核心包。为了减少核心类和 Gui 包之间的耦合,所有类都通过核心包中的协调类 Facade 与 Gui 包进行通信。 在 Gui 包中,我有一个主 Frame 类,它根据应用程序的“阶段”添加其他 Jpanels。例如,在用户登录后,LoginPanel 被替换为 MenuPanel。所有这些面板都被声明为扩展 JPanel 的单独类。
问题是,我应该在 Gui 包中使用一些协调类来与 core 包中的 Facade 协调类进行通信吗?在这个阶段,我的框架或 Jpanels 向核心包中的协调类发送消息,我在想通过具有协调类的 Gui 包减少耦合是否是个好主意,这将代表框架和其他 JPanel 与核心类进行通信。

最佳答案

此回复不是关于 Swing 实践,而是避免耦合和增加内聚性的通用方法。

为了减少耦合, 在没有任何框架的情况下,您需要按照标准 Java 遵循 2 种策略:

1. Code to Interfaces instead of Concrete implementations
2. Try to implement Factory design pattern

关于java - MVC,减少Gui和核心包之间的耦合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42862279/

相关文章:

java - Java中的无限while循环——Newton-Raphson方法

java - HTTP 客户端必须关闭其连接

java - 数据存储和index.yaml : no matching index found

Java Swing---程序运行时不显示

java - 从另一个类在 JTextArea 中写入一行

java - 如何使用具有 JTable 典型功能的 Prefuse 可视化表格

javascript - 无法让 javascript 在值更改时触发

java - Gson 使用空字段反序列化

javascript - SailsJs - 覆盖 Controller 默认方法

java - 具有 MVC 模式的观察者/可观察对象