gpt4 book ai didi

java - 如何在 java 项目中管理正确的结构

转载 作者:行者123 更新时间:2023-12-01 15:14:45 26 4
gpt4 key购买 nike

我经常遇到这个问题。无法想出如何面对这一切的方法。现在我得到了这个很棒的论坛!我相信这里的专家会帮助我解决这个问题。

这不是关于特定代码段之类的问题。我有能力(正如我认为的)用java做一些高级项目。简而言之,这意味着我可以完成该项目并给出准确的结果。

但问题是,虽然我能完成一些,但我对类(class)的管理等不满意。实际上我不知道如何正确管理它。我将考虑我目前正在从事的项目进行解释(我不是专业编码员,这将用于我的自学)。

我正在开发数据库管理系统(MySQL + Java)。我希望在那里实现一些功能。流程大致如下。

1. Login
2. Main window

主窗口将是这样的。

enter image description here

在左侧面板中,您可以选择需要执行的操作。

Eg.

*. Add some entries to the database

*. Search database

*. Other..(will be add later)

有人可以告诉我如何管理所有这些东西,两个框架和几个面板。

我所做的就是这样。

我编写了一个具有 main 方法的 managerClass 。然后它会首先调用loginFrame。验证后,loginFrame 调用managerClass 中的方法来加载mainFrame。但我在所有框架、面板等中保留对 managerClass 的引用。因为我将所有必需的信息保存在 managerClass 中,例如用户名等。

但是当修改和调试时,事情变得非常非常困难。因为我没有按照任何特定规则做事。我必须修改几乎所有的类才能进行轻微的修改。我经历过很多事情

最佳答案

据我对您的应用程序的了解,您的主要问题是组件与应用程序不同层(表示、交互控制、域逻辑)之间的耦合。我建议使用两种可能有帮助的设计模式(或样式):

  1. 模型- View -呈现器:将模型/域逻辑与呈现( View )与控制用户交互的逻辑分开。我最近在一个大型应用程序中使用了它,我发现它确实有助于以干净的方式分离问题并使测试变得更加简单。请不要将它与模型- View - Controller 模型混淆,后者很接近,但有很多问题。有一个nice article by Martin Fowler描述这两种模式
  2. 采用 event based interaction您的组件之间。不要让登录框架调用 Manager 类,而是让它触发一个事件(“用户已验证”),该事件由感兴趣的组件处理。例如,您的主窗口中可能有一个小的用户帐户详细信息面板,直到触发此事件后才会显示该面板。不幸的是,我不知道任何用于纯 Java 的事件框架(我怀疑您是否使用它进行开发),我使用的是 Google Web Toolkit。

关于java - 如何在 java 项目中管理正确的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11789861/

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