bln*_*tom 51 java architecture user-interface swing
我已经写了几GUI的使用Swing和我知道MVC,但我从来没有发现真正整理我的代码莫名其妙的好方法.我正在寻找的是像maven为每个新项目引入的文件夹结构.另一个例子是rails,其中MVC是通过文件夹结构自动引入的.Swing有类似的东西吗?
看一本描述更大Swing应用程序开发的书也很高兴.我找到的只是关于设计指南的书籍,其中设计指的是应用程序的外观.其他Swing书籍(如O'Reilly)详细描述了所有挥杆组件,但有关大局的任何信息在哪里?
是否有一个Swing GUI的,在那里你会说什么好榜样"这就是你如何组织代码/文件夹/包摆动!"?
编辑:我发现下面的网站http://www.ibm.com/developerworks/java/tutorials/j-springswing/section7.html描述弹簧的使用,同时创建一个GUI.这是一个相当古老的例子,它没有回答我的问题,但它是迈向正确方向的一步.它还提到了Spring RCP,但我不确定它是不是解决方案.
编辑2:我仍然没有找到更好的答案.有没有人知道开源的理想结构Swing GUI的例子?有人知道一本描述它的书吗?如果不是Swing,那么也许对于GUI来说一般?
jfp*_*ret 12
虽然它是Groovy,而不是Java,但我建议你看看Griffon,这是一个" Grails for Swing ".
它为您使用它构建的所有应用程序强制执行给定的结构(就目录和模式而言,特别是MVC).
我认为它总体上可以给你很好的想法,尽管你必须对Java进行一些改编.
此外,请注意,Griffon还支持使用Java构建应用程序,它也可能为此提供"原型",因此您也可以检查它.
您可以阅读A Swing Architecture概述.但是,当我做大型Swing应用程序时,我不会像在进行Web开发时那样组织它们.我只是在功能部件中组织我的Swing应用程序.例如,如果应用程序有四个包含表单和表格的选项卡,我将组件从一个选项卡放在一个包中.然后我通常会得到一些AbstractTableModel表单和表交互的自定义实现.模型保留数据的缓存并与数据库通信.
在我最新的Swing应用程序中,我使用了Akka actor来简化线程.然后,我在EDT线程上执行了所有Swing组件,并与一个自定义Actor的数据访问对象进行通信.然后,我也有一些TimerTask是从数据库的服务在互联网上同步的数据,但他们从来没有在美国东部时间运行,它们只与DAO,(我的演员)通信.
Web开发会强制您使用某些源和资源布局.Swing应用程序不是这种情况.在这里,您可以使用最适合您目标的布局.
如果使用某些IDE,您将获得更高的效率.NetBeans是Swing的完美选择.NB为您提供了如何存储课程的一些限制.如果您使用JUnit,则有一个"Source Packages"文件夹,其中包含Java Packages和相应JUnit测试类的"Test Packages",我强烈建议您这样做.
如果您使用Hibernate,您必须坚持其约定,构建whatever.entity和whatever.util以及配置XML文件需要在"默认包"中.
这些软件包的任何进一步组织都取决于程序员.我使用运行整个节目的JFrame制作一个包.每个逻辑单元的包.有时我使用一个包用于AbstractTableModels并将它们保持在一起,另一个用于ComboBoxModels.没有必要制作更深层的结构.您可以为可用于按钮的图标设置单独的包,一个用于声音等.Netbeans为您的应用程序创建可运行的jar文件,其中包括所有必需的文件,包括所需的库jar.
这里有一个小例子.除'th'之外的所有包的名称都非常明显.'th'是这个应用程序的名称,我有在那里托管应用程序的JFrame.此应用程序使用iReport生成报告.这就是'iReports'包的用途.

书籍描述了较小的样本,并且更关注Java约定.
您可以尝试使用Apache Maven,并查看它们随应用程序原型提供的体系结构.
| 归档时间: |
|
| 查看次数: |
14709 次 |
| 最近记录: |