Swing类的大小往往会增加,特别是在构建具有大量功能的页面时,这些功能总会导致复杂的代码,维护噩梦。
现在,我明白如果业务逻辑被分离出来,那么这些类中的许多都会急剧缩减。
我想知道的是如何对swing元素进行组件化,以便可以使用更简单的构建块构建页面?是否有一些示例应用程序,您已经看到在每个页面上都做了很多,而且几个类中没有遇到数千行?你建议打破UI代码的任何技术吗?
答案 0 :(得分:2)
我发现Humble dialogbox文章中描述的技术相当不错。它也大大促进了测试。
答案 1 :(得分:2)
你意识到你提出了相互矛盾的要求吗?
如果你有很多功能,你会有很多代码来执行这些功能吗?用户界面通常不是微不足道的,因为他们需要具备良好的可用性:
这自然需要每个UI元素几行代码,有时候很多。 (代码行不应该在字面上,如果你使用一个与XML一起工作的框架,它也可能是某种元代码。)
抽象地说,你唯一能做的就是保持逻辑组织的混乱。干净地分开不同的任务。这可以通过将整个行为抽象到每个UI元素中来实现(该方法通常导致每个组件的特定子类或组件和行为的组合),或者通过将每个关注放入单独的类(例如,声明的Panel)所有组件,但启用/禁用,验证和数据绑定分为不同的类。)
这两种方法并没有真正减少代码量,但是它们限制了进入一个类的代码量。
最后,将您在许多地方找到的常见/类似代码分解出来(如果您已有现有代码网格,则采用“补救”方法)。