Как разработчик 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, я не видел классов, которые полностью состоят из статических методов и не имеют состояния.
С одной стороны, это не так. С другой стороны, я не вижу в этом ничего плохого.
Это хороший шаблон для использования или что-то, что указывает на запах кода? Если этот шаблон применялся к другому домену, следует ли мне беспокоиться о многопоточных применениях класса статики? Не могли бы вы отказаться, если бы увидели это в коде качества продукции?
Хороший ответ, и, да, растущий размер класса беспокоит меня.Интересно, насколько большой размер слишком большой ... Я думаю, когда потребуется слишком много времени, чтобы быстро прочитать API, чтобы найти то, что вы ищете (если кто-то еще должен был использовать класс) –