Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java项目中管理适当的结构_Java_Database Design_Project Management - Fatal编程技术网

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

如何在java项目中管理适当的结构,java,database-design,project-management,Java,Database Design,Project Management,我经常遇到这个问题。想不出一个办法来面对这一切。现在我得到了这个极好的论坛!!我相信这里的专家会帮我的 这不是像这样的特定代码段的问题。我有能力(正如我所想)用java做一些高级项目。这意味着,简单地说,我可以完成项目,给出准确的结果 但问题是,虽然我可以通过某种方式完成它,但我对班级的管理不满意。事实上,我不知道如何正确地管理它。考虑到我目前正在从事的项目,我将进行解释(我不是一名专业的程序员,这将是我的自学) 我正在开发一个数据库管理系统(MySQL+Java)。我希望在那里实现几个特性。大

我经常遇到这个问题。想不出一个办法来面对这一切。现在我得到了这个极好的论坛!!我相信这里的专家会帮我的

这不是像这样的特定代码段的问题。我有能力(正如我所想)用java做一些高级项目。这意味着,简单地说,我可以完成项目,给出准确的结果

但问题是,虽然我可以通过某种方式完成它,但我对班级的管理不满意。事实上,我不知道如何正确地管理它。考虑到我目前正在从事的项目,我将进行解释(我不是一名专业的程序员,这将是我的自学)

我正在开发一个数据库管理系统(MySQL+Java)。我希望在那里实现几个特性。大致上,流程是这样的

1. Login
2. Main window
主窗口将是这样的

1. Login
2. Main window

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

Eg.

*. Add some entries to the database

*. Search database

*. Other..(will be add later)
有人能告诉我如何管理所有这些东西吗?两个框架和几个面板

我所做的就是这样

我已经编写了一个
managerClass
,其中包含main方法。然后它将首先调用
loginFrame
。验证后,
loginFrame
调用
managerClass
中的方法来加载
大型机。但我在所有框架、面板等中都保留了对
managerClass
的引用。。当我在
managerClass
中保存所有必需的信息时,如用户名等


但是当修改和调试时,事情变得非常困难。因为我没有按照任何特定的规则做任何事情。我将不得不修改几乎所有的类来做一些轻微的修改。从我对应用程序的理解来看,您的主要问题是组件与应用程序不同层(表示、交互控制、域逻辑)之间的耦合。我建议使用两种设计模式(或样式),这可能会有所帮助:

  • 模型视图演示者:将模型/域逻辑与演示(视图)以及控制用户交互的逻辑分开。我最近在一个大型应用程序中使用了它,我发现它确实有助于以干净的方式分离关注点,并使测试更加简单。请不要将其与模型-视图-控制器模型混淆,后者很接近,但存在许多问题。对于这两种模式有一个描述
  • 在您的组件之间采用一种新的方法。与调用Manager类的登录框架不同,让它触发一个事件(“用户身份验证”),该事件由感兴趣的组件处理。例如,主窗口中可能有一个小的用户帐户详细信息面板,在触发此事件之前不会显示该面板。不幸的是,我不知道有任何用于纯Java的事件框架(我怀疑您在开发中使用的是什么),我使用的是用于GoogleWebToolkit的
    谢谢你的指导。我还没有在我的项目中采用这些模式(我知道有这样的模式)。希望是时候这样做了。我发现你的两个链接非常有用。我还没有完全读完,但似乎他们会对我的问题有一些答案。谢谢你的努力。稍后我会给出一些反馈。我发现[这条线索][非常有用。顺便说一句,谢谢@pablochacin,我会接受你的答案。。