Слушатель и Производительность - PullRequest
0 голосов
/ 08 июля 2019

У меня вопрос к слушателю и производительности. Например: У меня 5 класс: + Добавить вложение слушателя + Приоритетный слушатель изменения поля + Добавить комментарий Слушатель + Изменить статус прослушивателя проблемы + Изменить назначенного слушателя Весь класс будет слушать на

@EventListener
  public void onIssueEvent(IssueEvent issueEvent) {
// Do some thing
}

У меня есть 2 способа для этой проблемы Опция 1: Я регистрирую 5 класс, как это:

eventPublisher.register(AddAttachmentListener.class);
eventPublisher.register(PriorityFieldChangeListener.class);
eventPublisher.register(AddCommentListener.class);
eventPublisher.register(ChangeStatusOfIssueListener.class);
eventPublisher.register(ChangeAssigneeListener.class);

И использовать в каждой функции класса onIssueEvent ()

Вариант 2: Я просто зарегистрировал только один класс:

eventPublisher.register(IssueEventListener.class);

А в функции onIssueEvent () я буду переключаться на каждое событие.

Но, если я зарегистрирую 5 класс, это сделает код более чистым и легким для чтения.

Итак, какой вариант я могу выбрать? Если я использую вариант 1, я буду влиять на производительность?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Я бы упростил использование одного слушателя.Скорее всего, вы хотите прослушать все пять событий в другом месте, и всегда создание пяти классов не делает его чище.Скорее всего, вы добавите шестого слушателя ....

Хотя включение типа события может быть неодобрительным, само по себе это не ухудшает ваш код.Просто оставьте метод переключения небольшим, используя другой метод для фиксированных случаев.Это также упрощает ситуацию, если вы передумаете позже.

0 голосов
/ 08 июля 2019

Хороший вопрос.Договорились, 5 отдельных классов сделают чище.но это решение вы можете принять только исходя из ваших будущих требований.если существует необходимость добавления большего количества событий бизнес-логики для событий, выберите вариант 1, если есть вероятность ограниченных событий или бизнес-логики, затем перейдите к варианту 2.

Добавив чистое и правильное комментирование в варианте 2, вы также можете управлять чистым кодированием.

Выберите вариант 1 для большого приложения и 2 для небольшого приложения.Вид микро сервисов делает приложение чистым и слабо связанным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...