Реагируйте на консольные вводы (команды) - как обрабатывать несколько вариантов наиболее эффективно?

Единственный язык, на котором он - на практике * - не разрешен, - это Javascript, и это вызывает бесчисленное количество проблем. Например, если вы скопируете & amp; вставьте строку из середины массива, вставьте ее в конец и забудьте удалить запятую, тогда ваш сайт будет полностью разбит для ваших посетителей IE.

* Теоретически это разрешено, но Internet Explorer не соответствует стандарту и рассматривает его как ошибку

0
задан CoreNoob 4 March 2019 в 07:23
поделиться

1 ответ

О дизайне-проблема 1:

Я бы хотел зарегистрировать множество обработчиков, которые можно основывать на общем интерфейсе, а затем реализовать конкретное поведение индивидуально. Это хорошо, потому что центральный метод обработки вашего ввода невелик, и вам нужно всего лишь зарегистрировать много синглетов один раз, при инициализации. Недостаток: если вы забудете один, он не будет работать. Поэтому, может быть, вы можете зарегистрировать их автоматически (отражение или что-то подобное).

Кроме того, карта в этом случае лучше, чем Список, потому что (я полагаю) вам не нужна сортировка. Вам нужно сопоставить ключ с поведением, чтобы карта выглядела лучше (хотя даже очень большой набор ключевых слов, вероятно, не будет очень неэффективным, если вы будете придерживаться списка).

О задаче проектирования 2:

Если бы я был вами, я бы использовал реальные шаблоны регулярных выражений. Взгляните на класс java.util.regex.Pattern. Вы можете изолировать группы и проверить полученные значения. Хотя он не избавляет вас от обработки исключений / ошибок, он очень помогает в сегментации и интерпретации.

0
ответ дан TreffnonX 4 March 2019 в 07:23
поделиться
Другие вопросы по тегам:

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