Junior — Middle
Vysvetlite koncept Interceptor v Jave in v čem je njegova namen
sobes.tech AI
Odpoveď od AI
Interceptor je vzor návrhu, ktorý umožňuje zachytávať volania metód, požiadavky alebo správy na vykonanie dodatočnej logiky pred alebo po hlavnej akcii.
V Jave sa Interceptor často používa v technológiách ako Java EE (napríklad CDI, EJB), kde je možné definovať metódy, ktoré budú automaticky volané pri volaní podnikových metód, na implementáciu priečnych funkcií: logovanie, transakcie, bezpečnosť, cache atď.
Príklad jednoduchého Interceptoru v Jave EE:
@Interceptor
public class LoggingInterceptor {
@AroundInvoke
public Object logMethod(InvocationContext ctx) throws Exception {
System.out.println("Volanie metódy: " + ctx.getMethod().getName());
Object result = ctx.proceed(); // volanie cieľovej metódy
System.out.println("Metóda dokončená");
return result;
}
}
Účelom Interceptoru je oddeliť pomocnú logiku od hlavnej, zvýšiť modularitu a opätovné použitie kódu.