Является ли шаблон стратегии более затратным, чем оператор switch? - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть оператор switch, который в настоящее время обрабатывает около 20 различных типов числовых событий. Идентификатор события варьируется от 1000 до 5000. Оператор switch становится все труднее поддерживать и читать.

Моя идея состоит в том, чтобы поместить каждый тип события в свой собственный класс и затем сохранить его в EnumMap. Такой подход сделает код более удобным и легким для чтения, но чем же я здесь на самом деле жертвую?

Каждый клиент (от 1000 до 5000 клиентов), который подключается, будет иметь свою собственную инициализацию этого EnumMap вместе со всеми классами типов событий. Это много накладных расходов, не так ли?

Что касается производительности, есть ли минус в использовании EnumMap вместо switch? javac компилирует их аналогично? Будут времена, когда каждая миллисекунда будет иметь значение.

...