DEV Community

Igor Rudel
Igor Rudel

Posted on

Interceptor: Um Design Pattern muito útil!

Nesse período de quase 9 anos como desenvolvedor, um dos padrões de projetos que mais me auxiliou em muitos momentos foi o Interceptor. Esse padrão aliado ao paradigma de programação orientada a aspectos (AOP) facilita muito aplicar comportamentos, filtros, entre outros artifícios aplicáveis em sistemas, principalmente os web.

É um padrão adotado por vários recursos/ferramentas existentes e muitos deles usados no dia a dia, como por exemplo o Security do Spring. O módulo de segurança do Spring intercepta todas as requisições e se baseia em informações da requisição para validar autenticação e/ou autorização.

O Security é um exemplo, existem outros como @ControllerAdvice + @ExceptionHandler, em camadas web RequestInterceptor ou ResponseInterceptor (Spring Web, RestTemplate e Feign), interceptor do Hibernate, etc...

Mencionei aplicações de interceptor's em recursos de bibliotecas Java... mas recursos/ferramentas/frameworks de outras linguagens também possuem aplicação de Interceptor!

Top comments (0)