Java: шаблон проектирования для предварительной и последующей обработки, как предлагают фильтры сервлетов - PullRequest
0 голосов
/ 26 мая 2019

Мне нужна помощь в определении шаблона дизайна.Требования приведены ниже:

  1. ДОЛЖЕН иметь положение для поддержки предварительной обработки перед вызовом метода.Любой может расширить API и добавить препроцессоры
  2. Аналогично вышеописанному, но требуется постобработка

Ближайший пример, который я могу вспомнить, это фильтры сервлетов, которые можно использовать для выполнения до и послеобработка, но я хочу сделать это в простом приложении Java, которое не будет развернуто на сервере

1 Ответ

1 голос
/ 26 мая 2019

Что касается шаблона проектирования, вы можете использовать шаблон проектирования Proxy, который предоставляет возможность обрабатывать до и после. Вы можете проверить динамический прокси-сервер cglib или узнать больше об AOP (Аспектно-ориентированном программировании) для предварительной и последующей операции над методом. Тем не менее, если вы заинтересованы в достижении того же самого только с помощью ядра Java, вы можете использовать динамический прокси JDK, используя обработчик вызовов. Я приведу полный пример, пожалуйста, пройдите его.

AOP с использованием динамического прокси: https://github.com/debjava/aopusingjdkdynamicproxy

Предварительная обработка: https://github.com/debjava/aopusingjdkdynamicproxy/blob/master/src/main/java/com/ddlab/rnd/aop/BeforeHandler.java

Постобработка: https://github.com/debjava/aopusingjdkdynamicproxy/blob/master/src/main/java/com/ddlab/rnd/aop/AfterHandler.java

Помимо этого, вы можете обратиться к комментариям.

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