- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个巨大的 Java Swing 应用程序。现在我们要从所有组件中删除耦合,以便我们可以重用它们。
我遇到了这个名为 GUTS 的工具,它基于用于 Swing 应用程序的 GUICE。有人用过吗?
http://kenai.com/projects/guts/pages/Home
如果我使用这个工具来解耦组件代码和更易于管理的 Swing 应用程序会更好吗?或者你们中的一些人可能知道的其他一些工具。
还有一个工具可以简化 GUI 构建工作,但不可能减少组件之间的耦合。
http://code.google.com/p/javabuilders/
那么你觉得哪个应该更好。如果你们中有人遇到过这种设计困境,请给出一些见解。
提前致谢。
最佳答案
鉴于您的 Swing 应用程序“庞大”,我还假设您与其他几个人一起从事该项目,所以如果是这种情况,您必须记住他们需要时间来学习其中一个两个。
在 GUTS 项目中,一切(几乎)都是纯 Java,因此无需学习新的语言,但是您将向项目引入新的外部依赖项,并且还需要人们改变他们的编码风格以使用新的库.此外,依赖项注入(inject)虽然如今更为常见,但仍然会给您的项目增加一层额外的复杂性。
以我的拙见,如果您和您的团队足够了解 Swing 和 GUI 创建中的一般良好实践,您可能会发现重构现有代码、在需要的地方编写自定义实用程序和组件会更安全、更容易。您可以立即开始这样做,而无需投入时间学习新东西,结果将是标准的并且将来相当容易维护。
JavaBuilders 是一个非常有趣且有前途的解决方案,它完全可以满足您的需求 - 将布局与业务逻辑分离。但是,您必须牺牲编译时的正确性,并且您的开发人员将需要学习 YAML(以及专门用于 JavaBuilder 的 YAML 专有风格)。此外,如文档所述,尚无可用的代码完成功能,因此可能很难开始。此外,如果您使用标准组件,或者您的所有自定义组件都与标准组件一样解耦,那么 JB 将只有 100% 有用。要使用自定义组件,需要进行一些预配置。
如果您独自工作或在一个小团队中工作,您可能会选择这条道路,愿意花一两周的时间彻底学习它,然后从头开始重写应用程序的每个部分。
关于java - 有没有人用过GUTS(GUICE UTILITIES TOOLS SWING)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4470256/
来自 Rubymonk ascent 教程“Ripping the Guts”,这段代码有什么区别:(我的) # compute([[4, 8], [15, 16]]) def compute(ary
我已经成功获得了我的第一个Vaadin 7 个应用程序已启动并正在运行,由 Maven archetype 为我创建。该应用程序的模板显示了布局、其小部件以及小部件的业务逻辑(单击的按钮),所有这些都
我正在自动化 Excel 报告批处理创建过程。 Excel 文件用作报告模板,^SOME_DATA^ 等占位符通过解压缩 .XLSX 文件的 Python 脚本替换,在 sharedStrings.x
我是一名优秀的程序员,十分优秀!