Перечислимые объекты должны быть не сохраняющими состояние?

Вам не нужны подготовленные операторы, если запрос не ожидает пользовательских аргументов.

7
задан Daniel Hiller 12 February 2009 в 06:42
поделиться

6 ответов

Я думаю, что это нарушает Принцип Наименьшего количества Удивления.

Люди ожидают общее использование перечислений, поскольку они были первоначально разработаны - как константы или маркеры, и не как классы общего назначения с состоянием.

18
ответ дан 6 December 2019 в 04:54
поделиться

Да. И 'да' я имею в виду 'Всегда'.

Если Вы хотите сопоставить статистику на количестве названных операций, реализуйте некоторую наблюдательность.

7
ответ дан 6 December 2019 в 04:54
поделиться

Котенок умирает каждый раз, когда Вы создаете изменяемое перечисление. Сохраните котят!

11
ответ дан 6 December 2019 в 04:54
поделиться

Это походит на плохое использование для перечислений - почему не только идут с основным абстрактным классом с новым подклассом для каждой операции?

1
ответ дан 6 December 2019 в 04:54
поделиться

Любая форма изменяемых помех является грехом. (Ну, Вам могли бы сойти с рук нетекучие кэши, некоторая ленивая инициализация и формы входа.)

4
ответ дан 6 December 2019 в 04:54
поделиться

Я полностью соглашаюсь с mparaz, что он нарушает Принцип Наименьшего количества Удивления. Люди ожидают, что перечисления будут константами.

Можно почти наверняка работать вокруг регистрирующейся вещи чем-то как:

DO_THIS() {
  public Result doSomething(Object theData) {
    MyUtilClass.doSomething(Object theData);
  }
}

и помещенный Ваш вход в систему другого класса.

ОДНАКО, если Вы не можете работать вокруг этого, Принцип Наименьшего количества Удивления является инструкцией; можно нарушить его, ЕСЛИ Вы даете пользователям класса достаточно предупреждений о том, что продолжается. Удостоверьтесь, что Перечислимое объявление содержит БОЛЬШОЕ уведомление, говоря, что это изменяемо, и описание точно, какова переменчивость. Перечисление должно все еще работать; это делает ссылочное сравнение с к единственному экземпляру для тестирования перечислимых значений.

1
ответ дан 6 December 2019 в 04:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: