使用所见即所得编辑器还是手写UI
这是一个有争议的问题。
我鼓励所有初级开发人员开始手写UI,因为它教授了他们如何使用布局管理器和处理复合布局的重要基础知识。
这通常需要更长时间,因为您需要验证每个更改后的布局。
我个人在大多数一般工作中都使用Netbeans中的表单编辑器,但会手动调整UI。
结构
考虑责任边界、重用和减少策略。
你不想要一个做EVERYTHING的巨型主类。它将很难维护和更新(我每天都生活在这样的恐惧中)。
相反,确定明确的责任区域,并使用getter和setter或模型将数据移动到应用程序中。你的代码解耦程度越高,更新和修改就越容易。
识别相似的工作并将其建模为接口和抽象类。基本上,无论你从哪里开始考虑代码复制,都可能是你的设计出了问题,你应该考虑实现抽象类来覆盖重叠部分。
利用Action API来复制常用概念(复制和粘贴就是一个例子。你需要菜单项、可能的工具栏项,甚至是弹出项,这些都可以由同一个Action类处理)。
将数据与视图分离。如我之前所说,利用模型。数据不应关心如何收集或修改,只需知道它可以被收集或修改。同样,视图不应关心如何管理数据,只需知道它存在即可。
如果可能,请在应用程序的不同区域之间定义接口。这样,您可以进一步解耦应用程序,任何一个部分都不会依赖于任何一个实现(你好,我的世界:P)
不要试图简单地深入组件层次结构以访问该字段,否则如果您需要更改代码,它将产生噩梦!