构建单独的类(规范化?)

时间:2014-04-13 15:34:02

标签: java class

我正在编写一个应用程序,用户可以在其中登录访问(至少现在)一个mysql数据库服务器。我认为我应该这样做的方法是为每个部分创建单独的类;示例:我有一个主窗口,它将容纳用户想要做的按钮,以及每个按钮的类.ActionEvent。我认为通过这种方式分离我的类,从长远来看,它变得更容易使用,2)更容易移植(即Windows GUI类,Android类)。我这样做了吗?

  • 目前的课程;
  • MainWindow(包含登录,注销,检索资产列表,检索当前工单的按钮)
  • 登录
  • 退出(我将它与登录结合起来?)
  • AssestList(查询 - 返回表格)
  • WorkOrderList(查询 - 返回可编辑的JPanel)

1 个答案:

答案 0 :(得分:1)

免责声明:这个答案没有任何理由只是粗略地看一眼MVC模式以及它如何帮助你。

我是第二个Rob Kielty的建议,你应该在学习的这个阶段看一下MVC模式。它将帮助您构建代码并提高可读性,模块性和可重用性。如果您计划将应用程序移植到Android,这对您尤其重要。

基本思想是保持应用程序的逻辑(MVC中的 C [ontroller],隐藏的部分/类)分离/解耦与UI类( V [iew],依赖于平台)。如果你有主要用于保存数据或状态的类,我们称它们为模型类( M [odel],如User,Stock,...)。

  • 控制器类在理想情况下应该几乎不依赖于您的UI类。
  • 模型类应该是独立的,因此与平台无关。
  • 视图类(UI)将依赖于控制器和模型类,但也取决于UI框架(AWT,Swing,JavaFX,Web框架......)。

简单示例

考虑到这一点,想象一下,当您的应用程序启动时,您想要识别用户。在此阶段,Controller负责并显示登录对话框(/ window / webpage)。控制器保持待机状态,等待用户操作。该对话框的“提交”按钮上的命中将由控制器直接处理,并可能导致用户进入下一阶段/对话(成功登录)或登录对话框的UI更新,指示认证尝试失败。将UI问题与逻辑关注分开是很基础的,即。点击“提交”会向控制器发送一个事件或调用一个方法,但实际的逻辑工作不会在登录对话框中完成。

请注意,尽管如此,解释和阅读的数量不会取代难得的经验。所以不要害怕一次又一次地重访你的副本。如果你是一个完美主义者,那么这场战斗已经失败了。 HTH