如何在java项目中管理适当的结构

时间:2012-08-03 05:38:11

标签: java database-design project-management

我经常遇到这个问题。想不出如何面对这个问题的方法。现在我有了这个优秀的论坛!!我相信这里的专家会帮助我。

这不是像特定代码段那样的问题。我有能力(我认为)在java中做一些高级项目。简单来说,这意味着我可以完成项目以获得确切的结果。

但问题是,虽然我可以完成一些方法,但我对课程的管理不满意。实际上我不知道如何妥善管理它。我将解释我正在研究的项目(我不是专业编码员,这将是我的自学)。

我正在研究数据库管理系统(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)

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

我所做的就是这样。

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

但是在修改和调试时,事情变得非常困难。因为我没有按照任何具体规则做事。我将不得不修改几乎所有的类来做一些修改。我经历了很多和海洋

1 个答案:

答案 0 :(得分:1)

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

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