[Design Pattern] 프록시 패턴

가비·2022년 5월 30일
0

[Design Pattern]

목록 보기
1/2

프록시 패턴(Proxy Pattern)이란?
프록시는 무언가를 대신 처리하는 의미로 어떠한 객체를 사용하고자 할때 객체를 직접적으로 참조하는것이 아니라 해당 객체를 대리(proxy)하는 객체를 통해 대상 객체에 접근하는 방식으로 객체에 대한 액세스를 제어한다.


프록시를 이용하면 캐싱이나 유효성 검사와 같은 처리를 통해 부하를 줄일 수 있고 실제 객체의 기능이 필요한 시점까지 객체의 생성을 미룰 수 있다는 장점과 동시에 클라이언트에서 프록시를 거쳐 객체에 도달하므로 응답이 늦어질 수 있다는 단점이 있다.

프록시의 종류

가상 프록시(Virtual Proxy)

  • 많은 리소스가 요구될때 필요한 시점까지 객체의 생성을 지연하면서 해당 객체가 생성된 것 처럼 동작하고 싶을때 사용하는 패턴.
    ex 해상도가 높은 이미지와 텍스트가 함께 있는 페이지를 표시 할 경우 먼저 로딩된 텍스트를 먼저 표시되도록 작업 분산

원격 프록시(Remote Proxy)

  • 서로 다른 주소 공간에 있는 객체에 대해 같은 주소 공간에 있는 것처럼 동작하게 만드는 패턴.
    ex Google Docs

보호 프록시(Protection Proxy)

  • 대상 객체에 대한 접근을 제어하거나 객체마다 접근 권한을 다르게 하고 싶은 경우에 사용하는 패턴.

|참고
https://refactoring.guru/design-patterns/proxy
https://m.blog.naver.com/anciid/221796576972

0개의 댓글