프록시 패턴
Written by niee on
정의
- 어떤 객체에 대한 접근을 제어하기 위한 용도로 대리인이나 대변인에 해당하는 객체를 제공하는 패턴
- 클라이언트에서 메소드 호출시 호출을 중간에 가로채어 메소드 호출/ 접근제한등을 한다.
프록시 종류
- 원격(Remote Proxy) 프록시
- 가상(Virtual Proxy) 프록시
- 동적(Dynamic Proxy) 프록시
- 보호(Protection Proxy) 프록시
원격(Remote Proxy) 프록시
- 다른 jvm에 들어있는 객체의 대변인에 해당하는 로컬 객체.
- 프록시의 메소드를 호출하면, 그호출이 네트워크를 통해 전달되어 원격객체의 메소드가 호출, 결과는 프록시를 통해 클라이언트에게 전달됨.
가상(Virtual Proxy) 프록시
- 생성비용이 많이드는 객체를 대신하는 역할.
- 진짜 객체가 필요하기 전까지 객체의 생성을 미루거나, 생성 전/중 진짜 객체를 대신한다.
- 객체 생성 후 요청을 진짜 객체에게 직접 전달.
동적(Dynamic Proxy) 프록시
- 자바에 내장된 reflect 패키지를 이용하여, 즉석에서 한개이상의 인터페이스를 구현하여 메소드 호출을 지정한 클래스에 전달하는 프록시 클래스를 만드는 패턴
- 실제 프록시 클래스는 실행중에 생성됨.
보호(Protection Proxy) 프록시
- 접근 권한을 바탕으로 객체에 대한 접근을 제어하는 프록시
프록시패턴의 종류와 사용되는곳을 찾아보자
- 샘플소스확인
- reflection
- spring aop proxy pattern
- 프록시 패턴의 종류 책 526P.
Comments