Junior — Middle
Selgitage välja Interceptor kontseptsiooni Java ja milline on selle eesmärk
sobes.tech AI
Vastus AI-lt
Interceptor on disainimuster, mis võimaldab vahele võtta meetodite, päringute või sõnumite väljakutseid, et täita täiendavat loogikat enne või pärast põhitegevust.
Java-s kasutatakse Interceptorit sageli sellistes tehnoloogiates nagu Java EE (näiteks CDI, EJB), kus saab määratleda meetodeid, mis kutsutakse automaatselt välja ärimeetodite kutsumisel, et rakendada ristküljelisi funktsioone: logimine, tehingud, turvalisus, vahemälu ja nii edasi.
Lihtne Interceptor näide Java EE-s:
@Interceptor
public class LoggingInterceptor {
@AroundInvoke
public Object logMethod(InvocationContext ctx) throws Exception {
System.out.println("Meetodi kutsumine: " + ctx.getMethod().getName());
Object result = ctx.proceed(); // sihtmeetodi väljakutse
System.out.println("Meetod täidetud");
return result;
}
}
Interceptori eesmärk on eraldada abiloogika põhiloogikast, suurendada modulaarust ja koodi taaskasutusvõimalusi.