gpt4 book ai didi

java - 桌面应用程序中的 MVC 和 Swing

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:10:20 25 4
gpt4 key购买 nike

在意识到我完全忽略了 MVC 模式之后,我尝试在具有 Swing View 的应用程序中利用该概念。我现在已经阅读了大部分关于带 Swing 的 MVC 主题的帖子,但仍然有点困惑,因为它太复杂了,我无法理解,我想我需要一些基本的澄清,这样我才不会走错路小路。

我也想知道在实际项目中使用 MVC 有多普遍。许多在线教程似乎都忽略了 Controller 并将其与模型混合在一起,而我对 XSTL:s 业务逻辑功能感到困惑。为什么要从 JSP View 寻址数据源?

抛开这些想法,我的正确问题是:

如果您有一个 Swing 组件,该 Swing 类中的事件监听器是否应该通过调用(也许是静态的?)POJO Controller 类中的方法来更新组件状态,该类又从模型中获取适当的业务逻辑,该模型由由 POJO 类层次结构和相关的持久化?

最佳答案

我作为自由职业者工作了很长时间,几乎 90% 的项目都是关于 Java Swing(桌面应用程序)的。还有很多项目涉及从 Visual Fox Pro 等语言迁移到 Java,这很痛苦,因为困难的部分不是在已经完成的逻辑中思考,困难的部分是把乱七八糟的代码改过来遵循良好实践并使用设计模式将代码转换为美观的代码,这就是为什么在您的脑海中制作一个模式或 map 是一个好主意,您可以按照模型、 View 、 Controller 的概念来分离代码。

如上所述,MVC 可帮助您拥有美观、可维护且易于阅读的代码,并遵循编程范例和良好实践。

View :显然,与用户(用户界面)交互的部分,在 Swing 的情况下,您的窗口、框架、面板以及涉及您的应用程序所需的图形组件的所有代码。

Controller :涉及您为应用程序建立的核心或业务逻辑,在这个“层”中,您应该包括功能和“我的应用程序将如何实现目标?”。

模型:与您管理的数据相关,例如,代表您要管理或维护的数据的实体和类。

应用 MVC 并不难,但正如我所提到的,当您必须将代码从未应用 MVC 结构迁移到 MVC 结构化应用程序时,有时会很痛苦。使用 MVC 开始编码更容易。

我习惯的一种方法是使用 maven 并将我的应用程序分成小的“模块”,当然,你不需要 maven,我只是在那一刻发现它很有用,但无论如何你可以尝试通过将您的应用程序分成小项目来练习或习惯 MVC,例如:

Java 项目 1:application-data-model(包含所有与数据管理相关的代码:entities、dtos、bean、daos)

Java 项目 2:application-core-controller(包含所有的业务逻辑和功能,如果你想让你的代码在与你的 View 相关时更“透明”,你可以在这里使用外观模式)

Java 项目 3:application-view-ui(包含所有面板、框架和图形组件)

以这种方式工作帮助我(并迫使我)习惯于分离我的代码并关注对我正在从事的项目真正重要的事情。例如,如果我在应用程序数据模型上,我会专注于数据模型,而不会考虑业务逻辑或图形界面。

很长的解释,也许有人可以做得更好,但希望我能帮助你,或者至少帮助你解决这个问题。

最好的问候。

关于java - 桌面应用程序中的 MVC 和 Swing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16072423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com