【问题标题】:Idea for an UI application architectureUI 应用程序架构的想法
【发布时间】:2011-06-23 11:59:21
【问题描述】:

我正在用独立的 SWT/JFace 编写我的第一个桌面 Java 应用程序(我不想使用 RCP);但这不是语言的问题,所以不要专注于我使用的技术。

简单解释一下这个软件是什么,主窗口有一个tab文件夹,每个tab项代表一个用户可以编辑的文件。文件由结构化查看器表示。该应用程序具有菜单和工具栏。选项卡项中有一个上下文菜单。

我的问题是关于应用程序的架构。 我不知道如何制作一个好的设计架构,以便正确组织代码。

每个操作(在菜单、上下文菜单和工具栏中)都可以更改所选选项卡项的内容,所以我不知道该怎么做:

1- 选项卡项暴露了许多被所有操作调用的公共方法?所以标签项将有很多功能: 示例:菜单或上下文菜单中的添加新行菜单操作只是调用选项卡项的 addNewLine() 方法?

2- 一个充当控制器的类,管理选项卡文件夹和所有选项卡项,并公开许多公共方法。 示例:打开文件菜单操作调用控制器上的 openFile() 方法,添加新行操作调用知道活动选项卡的控制器并在需要的位置添加行。

3- 每个动作都是一个具体的类,只需在选项卡项上调用尽可能少的方法来刷新 UI。 示例:打开文件菜单操作具有打开“打开文件对话框”、读取文件数据并直接在 UI 组件上调用类似 addNewTab(ApplicationObject my object) 的逻辑

4- ... ?

在您看来,哪一个是最佳实践? 你知道我在哪里可以找到这样的桌面应用程序设计的示例/文档吗?

提前致谢,

弗鲁米斯

【问题讨论】:

    标签: architecture class-design desktop-application


    【解决方案1】:

    我建议您阅读如何设计基于事件的应用程序(可以是 Java、Android、Flash 或 VB.Net),具体资源是书 Growing Object-Oriented Software。在那本书中,作者解释了如何构建和测试 Swing 应用程序,他们使用的设计是完美的(当然,从我的角度来看)。

    【讨论】:

      猜你喜欢
      • 2016-11-08
      • 2018-07-04
      • 1970-01-01
      • 2014-12-15
      • 2012-02-10
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多