作为 Swing 开发人员多年的 Swing 开发人员,我已经确定了很多在布局组件时使用的模式。例如,我经常创建与 JLabel 关联的组件。我通常写:
JPanel panel = new JPanel(new BorderLayout());
panel.add(label, BorderLayout.NORTH);
panel.add(list, BorderLayout.CENTER);
我经常这样做,所以我决定创建一个包含我常用布局习惯用法的类。那么我可以简单地说:
JPanel panel = LayoutPatterns.createNorthLabeledPanel(label, list);
...这大大减轻了我的打字负担。
所以,现在我有一个包含大约 20 个静态方法的类。该类没有状态 - 所有上下文都通过方法参数传入。
除了 Java 的 Math 类,我还没有看到任何完全由静态方法组成且没有状态的类。
一方面,这感觉不对。另一方面,我看不出有什么不妥。
这是一个可以使用的模式,还是表明有代码味道的东西?如果此模式应用于不同的域,我是否应该关注静态类的多线程使用?如果您曾经在生产质量代码中看到过这种情况,您会犹豫吗?
最佳答案
我认为这里唯一的问题是一种语言迫使你发明一个类,其中 -gasp- 全局函数是完全合适的。 :-)
关于design-patterns - 充满静态方法的类的设计注意事项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/591546/