본문으로 바로가기

[Java] 디자인 패턴 - 프록시 패턴

category TIL/Java 2022. 6. 1. 18:57

프록시(Proxy) 패턴

어떤 객체를 사용하려고 할 때
객체를 직접 참조하지 않고
프록시 객체를 통해 대상 객체에 접근하는 디자인 유형
  • 동기적인 처리를 최대한 비동기적으로 처리하기 위해 사용

코드 중복 해결

사용 예시

  • 참조 횟수 스마트 포인터 객체

장점

  • 사이즈가 큰 객체(ex. 이미지)가 로딩되기 전에도 프록시를 통해 참조 가능
  • 실제 객체의 메소드들을 숨기고 인터페이스를 통해 노출 가능
  • 로컬에서 떨어져 있는 객체 사용 가능
  • 원래 객체의 접근에 대해서 사전처리 가능

단점

  • 로직이 복잡해 가독성이 떨어짐
  • 객체를 생성할 때 한단계를 걸치므로, 빈번한 객체 생성이 필요한 경우 성능 저하 우려

[ 출처 ]

https://refactoring.guru/design-patterns/proxy

https://coding-factory.tistory.com/711