Sobes.tech
Junior — Middle

Magyarázza el az Interceptor fogalmát Java-ban, és hogy mi a célja

sobes.tech MI

Válasz az MI-től

Az Interceptor egy tervezési minta, amely lehetővé teszi a metódushívások, kérések vagy üzenetek elfogását a fő művelet előtt vagy után végrehajtandó kiegészítő logika végrehajtásához.

Java-ban az Interceptor gyakran használatos olyan technológiákban, mint a Java EE (pl. CDI, EJB), ahol meghatározhatók olyan módszerek, amelyek automatikusan meghívódnak az üzleti módszerek hívásakor, hogy keresztmetszeti funkciókat valósítsanak meg: naplózás, tranzakciók, biztonság, gyorsítótárazás stb.

Egyszerű Interceptor példája Java EE-ben:

@Interceptor
public class LoggingInterceptor {
    @AroundInvoke
    public Object logMethod(InvocationContext ctx) throws Exception {
        System.out.println("Metódushívás: " + ctx.getMethod().getName());
        Object result = ctx.proceed(); // célmetódus hívása
        System.out.println("Metódus végrehajtva");
        return result;
    }
}

Az Interceptor célja, hogy elkülönítse a segédlogikát a fő logikától, növelje a modularitást és a kód újrahasznosíthatóságát.