Как и задумано, константа перечисления в java является одноэлементной, и для одновременного использования я обычно создаю экземпляры перечисления без состояния и использую параметры метода для ввода данных по мере необходимости.
Пример:
В настоящее время я создаю службу REST, в которой есть Операции (реализованные в виде перечисления с использованием варианта шаблона стратегии).
public enum Operation {
DO_THIS() {
public Result doSomething(Object theData) {
}
} ,
// Other Operations go here
;
public abstract Result doSomething(Object theData);
}
Теперь я хочу собрать данные о том, как часто вызывается операция и как часто она выполняется и т. Д.
Я мог бы сохранить состояние внешне при использовании экземпляра enum, но, скорее всего, состояние должно быть сохранено в операции, поскольку операция должна содержать собственное состояние.
Теперь мой общий вопрос:
Является ли экземпляр enum с сохранением состояния (помимо проблем параллелизма) плохим дизайном?