프록시 패턴이란? (Proxy - 대변자)
객체를 감싸고있는 객체.
누군가를 대신하여 그 역할을 수행하는 존재이다. 누군가에게 어떠한 일을 대신 시켜서 처리하는 것
어떠한 객체를 사용할대 직접 참조하는 것이 아니라, 프록시 객체가 원래 객체를 감싸서 client의 요청을 처리하게 한다.
(인터페이스 역할)
프록시 패턴 사용이유
- 접근 권한을 부여할 수 있다
- 부가 기능을 추가할 수 있다.

어떤 객체를 사용할 때 직접적으로 참조하지 않고 해당 객체를 대항하는 객체를 통해 접근하면
참조하는 객체가 메모리에 존재하지 않아도 기본적인 정보를 참조하거나 설정 할 수 있다.
프록시 패턴의 장점과 단점
장점
- 전처리와 후처리 사용에 용의하다
- 사이즈가 큰 객체가 로딩되기 전에도 프록시를 통해 참조 할 수 있다
단점
- 객체를 생성할대 한 단계를 거치게 되므로 성능 저하가 될 수 있다
- 위와 같은 이유로 가독성이 떨어진다
@Transactional
@Transactional은 Spring AOP을 사용하여 구현되고 Proxy 방식이 사용된다
해당 어노테이션이 붙은 메소드가 실행되기 전 begin이 호출되고,
메소드가 종료되면 commit을 호출한다.
[디자인패턴] 프록시패턴(Proxy Pattern)
프록시(Proxy)를 번역하면 대리자, 대변인의 의미를 갖고 있다. 대리자, 대변인은 누군가를 대신해서 그 역할을 수행하는 존재이다. 이는 프로그램에도 똑같이 적용된다. 즉, 프록시에게 어떤 일
velog.io
'수업 & 공부' 카테고리의 다른 글
깃 브랜치 전략 (Git-flow , GitHub-flow) (0) | 2022.11.08 |
---|---|
Filter, Interceptor, AOP (0) | 2022.11.04 |
AOP (Aspect Oriented Programming) (0) | 2022.11.03 |
docker - zookeeper - KAFKA 참고 (KAFKA CLI) (0) | 2022.10.12 |
KAFKA (0) | 2022.10.07 |