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